Platform Explorer / Nuxeo Platform 2023.7

Component org.nuxeo.ecm.platform.forms.layouts.webapp.base

Resolution Order

633
The resolution order represents the order in which this component has been resolved by the Nuxeo Runtime framework.
You can influence this order by adding "require" tags in your component declaration, to make sure it is resolved after another component.

Contributions

XML Source

<?xml version="1.0"?>
<component name="org.nuxeo.ecm.platform.forms.layouts.webapp.base">

  <extension target="org.nuxeo.ecm.platform.forms.layout.LayoutStore"
    point="widgets">

    <widget name="displayObsoleteEntries" type="checkbox">
      <categories>
        <category>widgetTypeConf</category>
      </categories>
      <labels>
        <label mode="any">Display obsolete entries</label>
      </labels>
      <fields>
        <field>displayObsoleteEntries</field>
      </fields>
    </widget>

    <widget name="select2_directory_name" type="selectOneResource">
      <categories>
        <category>widgetTypeConf</category>
      </categories>
      <labels>
        <label mode="any">Directory Name</label>
      </labels>
      <helpLabels>
        <label mode="any">
          Name of the directory
        </label>
      </helpLabels>
      <widgetModes>
        <mode value="edit_demo_preview">hidden</mode>
      </widgetModes>
      <fields>
        <field>directoryName</field>
      </fields>
      <properties widgetMode="any">
        <property name="required">true</property>
      </properties>
      <properties mode="any">
        <property name="resourceName">vocabularies</property>
        <property name="includel10nDirectories">true</property>
      </properties>
    </widget>

    <widget name="select2_directory_fetch_mode" type="selectOneListbox">
      <categories>
        <category>widgetTypeConf</category>
      </categories>
      <labels>
        <label mode="any">Fetch Mode</label>
      </labels>
      <helpLabels>
        <label mode="any">
          This attribute controls the fetch mode for directory entries.
          Directory entries can either be fetched if they start with the
          search term or if thery contain the search term.
          Available since 5.9.2.
        </label>
      </helpLabels>
      <fields>
        <field>contains</field>
      </fields>
      <selectOptions>
        <option itemLabel="Starts with (default)" itemValue="false" />
        <option itemLabel="Contains" itemValue="true" />
      </selectOptions>
    </widget>

    <widget name="select2_dbl10n" type="checkbox">
      <categories>
        <category>widgetTypeConf</category>
      </categories>
      <labels>
        <label mode="any">Activate database localization</label>
      </labels>
      <helpLabels>
        <label mode="any">
          Activate retrieval of localized labels in the
          vocabulary database, when translations are held by the directory
          itself, in fields with a label_[lang] pattern, and defaulting to
          label_en. Available since 6.0.
        </label>
      </helpLabels>
      <fields>
        <field>dbl10n</field>
      </fields>
    </widget>

    <widget name="select2_canSelectParent" type="checkbox">
      <categories>
        <category>widgetTypeConf</category>
      </categories>
      <labels>
        <label mode="any">Can select parent</label>
      </labels>
      <helpLabels>
        <label mode="any">
          Check this option to allow selection of
          intermediate
          groups.
        </label>
      </helpLabels>
      <fields>
        <field>canSelectParent</field>
      </fields>
    </widget>

    <widget name="select2_filterParent" type="checkbox">
      <categories>
        <category>widgetTypeConf</category>
      </categories>
      <labels>
        <label mode="any">Filter parent</label>
      </labels>
      <helpLabels>
        <label mode="any">
          Check this option to apply filter on
          intermediate
          groups.
        </label>
      </helpLabels>
      <fields>
        <field>filterParent</field>
      </fields>
    </widget>

    <widget name="select2_dropdownOnArrow" type="checkbox">
      <categories>
        <category>widgetTypeConf</category>
      </categories>
      <labels>
        <label mode="any">Dropdown on Arrow </label>
      </labels>
      <helpLabels>
        <label mode="any">
          Check this option to dropdown the suggestions only when clicking the arrow on
          the right of the single suggestion widget. By default the suggestions are
          dropped down wherever you click.
        </label>
      </helpLabels>
      <fields>
        <field>dropdownOnArrow</field>
      </fields>
    </widget>

    <widget name="select2_separator" type="text">
      <categories>
        <category>widgetTypeConf</category>
      </categories>
      <labels>
        <label mode="any">Select2 separator</label>
      </labels>
      <helpLabels>
        <label mode="any">
          Separator character or string used to delimit ids
          in value attribute of the multi-valued selects.
          The default delimiter is the , character.
        </label>
      </helpLabels>
      <widgetModes>
        <mode value="any">hidden</mode>
        <mode value="view_reference">view</mode>
      </widgetModes>
      <fields>
        <field>separator</field>
      </fields>
    </widget>

    <widget name="select2_frequency" type="text">
      <categories>
        <category>widgetTypeConf</category>
      </categories>
      <labels>
        <label mode="any">Select2 frequency</label>
      </labels>
      <helpLabels>
        <label mode="any">
          Delay (in milliseconds) before sending a request
          to the server after a character is typed.
          Default value is 300ms.
        </label>
      </helpLabels>
      <fields>
        <field>frequency</field>
      </fields>
    </widget>

    <widget name="select2_closeOnSelect" type="text">
      <categories>
        <category>widgetTypeConf</category>
      </categories>
      <labels>
        <label mode="any">Select2 closeOnSelect</label>
      </labels>
      <helpLabels>
        <label mode="any">
         If set to false the dropdown is not closed after a selection is made,
         allowing for rapid selection of multiple items.
         By default this option is set to true.
        </label>
      </helpLabels>
      <fields>
        <field>closeOnSelect</field>
      </fields>
    </widget>

    <widget name="select2_directory_labelFieldName" type="text">
      <categories>
        <category>widgetTypeConf</category>
      </categories>
      <labels>
        <label mode="any">Label field name</label>
      </labels>
      <helpLabels>
        <label mode="any">
          Name of the Directory field that should be
          used to
          define the Label of entry.
          If not set 'label'
          will be
          used. In case of
          localization with a directory field for
          each supported language (see
          dbl10n option), by default
          fields with pattern like 'label_en',
          'label_fr' or
          'label_de' will
          be searched. You can customize looked up
          fields by
          specifying
          a pattern like
          'label_{lang}' where the part {lang}
          will be
          replaced with
          the current locale.
        </label>
      </helpLabels>
      <fields>
        <field>labelFieldName</field>
      </fields>
    </widget>

    <widget name="userSuggestionSearchType" type="selectOneListbox">
      <categories>
        <category>widgetTypeConf</category>
      </categories>
      <labels>
        <label mode="any">Search type</label>
      </labels>
      <fields>
        <field>userSuggestionSearchType</field>
      </fields>
      <selectOptions>
        <option itemLabel="Users and Groups" itemValue="" />
        <option itemLabel="Users" itemValue="USER_TYPE" />
        <option itemLabel="Groups" itemValue="GROUP_TYPE" />
      </selectOptions>
    </widget>

    <widget name="userSuggestion_groupRestriction" type="text">
      <categories>
        <category>widgetTypeConf</category>
      </categories>
      <labels>
        <label mode="any">Group id restriction</label>
      </labels>
      <helpLabels>
        <label mode="any">
          Enter the id of a group to suggest only user from this
          group.
        </label>
      </helpLabels>
      <fields>
        <field>groupRestriction</field>
      </fields>
    </widget>

    <widget name="userSuggestion_prefixed" type="checkbox">
      <categories>
        <category>widgetTypeConf</category>
      </categories>
      <labels>
        <label mode="any">Use prefixed reference</label>
      </labels>
      <helpLabels>
        <label mode="any">
          Check this box if you want the references prefixed
          with "user:" or "group:".
        </label>
      </helpLabels>
      <fields>
        <field>prefixed</field>
      </fields>
    </widget>

    <widget name="userSuggestion_firstLabelField" type="text">
      <categories>
        <category>widgetTypeConf</category>
      </categories>
      <labels>
        <label mode="any">First label field</label>
      </labels>
      <helpLabels>
        <label mode="any">
          Field to use as the first label when displaying the
          selected user. Defaults to 'firstName'.
        </label>
      </helpLabels>
      <fields>
        <field>firstLabelField</field>
      </fields>
    </widget>

    <widget name="userSuggestion_secondLabelField" type="text">
      <categories>
        <category>widgetTypeConf</category>
      </categories>
      <labels>
        <label mode="any">Second label field</label>
      </labels>
      <helpLabels>
        <label mode="any">
          Field to use as the second label when displaying the
          selected user. Defaults to 'lastName'.
        </label>
      </helpLabels>
      <fields>
        <field>secondLabelField</field>
      </fields>
    </widget>

    <widget name="userSuggestion_thirdLabelField" type="text">
      <categories>
        <category>widgetTypeConf</category>
      </categories>
      <labels>
        <label mode="any">Third label field</label>
      </labels>
      <helpLabels>
        <label mode="any">
          Field to use as the third label when displaying the
          selected user. Defaults to 'email'. Available since 5.5.
        </label>
      </helpLabels>
      <fields>
        <field>thirdLabelField</field>
      </fields>
    </widget>

    <widget name="userSuggestion_hideFirstLabel" type="checkbox">
      <categories>
        <category>widgetTypeConf</category>
      </categories>
      <labels>
        <label mode="any">Hide first label</label>
      </labels>
      <helpLabels>
        <label mode="any">
          Boolean indicating if the first label should be
          hidden. Defaults to false.
        </label>
      </helpLabels>
      <fields>
        <field>hideFirstLabel</field>
      </fields>
    </widget>

    <widget name="userSuggestion_hideSecondLabel" type="checkbox">
      <categories>
        <category>widgetTypeConf</category>
      </categories>
      <labels>
        <label mode="any">Hide second label</label>
      </labels>
      <helpLabels>
        <label mode="any">
          Boolean indicating if the second label should be
          hidden.Defaults to false.
        </label>
      </helpLabels>
      <fields>
        <field>hideSecondLabel</field>
      </fields>
    </widget>

    <widget name="userSuggestion_hideThirdLabel" type="checkbox">
      <categories>
        <category>widgetTypeConf</category>
      </categories>
      <labels>
        <label mode="any">Hide third label</label>
      </labels>
      <helpLabels>
        <label mode="any">
          Boolean indicating if the third label should be
          hidden. Defaults to false. Available since 5.5.
        </label>
      </helpLabels>
      <fields>
        <field>hideThirdLabel</field>
      </fields>
    </widget>

    <widget name="userSuggestion_displayAction" type="selectOneListbox">
      <categories>
        <category>widgetTypeConf</category>
      </categories>
      <labels>
        <label mode="any">Display action</label>
      </labels>
      <helpLabels>
        <label mode="any">
          The display action to use when rendering the user or
          group. Can be 'nothing' to just display text only, 'view' to have a
          link going to the user or group view, or 'edit' to have a link going
          to the user or group edition. The 'edit' action assumes the widget is
          used in the Users and Groups management.
        </label>
      </helpLabels>
      <fields>
        <field>displayAction</field>
      </fields>
      <selectOptions>
        <option itemLabel="View" itemValue="view" />
        <option itemLabel="Edit" itemValue="edit" />
        <option itemLabel="Nothing" itemValue="nothing" />
      </selectOptions>
    </widget>

    <widget name="userSuggestion_displayEmailInSuggestion" type="checkbox">
      <categories>
        <category>widgetTypeConf</category>
      </categories>
      <labels>
        <label mode="any">Display email for users</label>
      </labels>
      <helpLabels>
        <label mode="any">
          Boolean indicating if the email should be displayed
          for users. Defaults to false. Available since 5.5.
        </label>
      </helpLabels>
      <fields>
        <field>displayEmailInSuggestion</field>
      </fields>
    </widget>

    <widget name="userSuggestionMaxSearchResults" type="int">
      <categories>
        <category>widgetTypeConf</category>
      </categories>
      <labels>
        <label mode="any">Max search results</label>
      </labels>
      <helpLabels>
        <label mode="any">
          Number of maximum search results in the suggestion
          (defaults to 0 that means no limit).
        </label>
      </helpLabels>
      <fields>
        <field>userSuggestionMaxSearchResults</field>
      </fields>
    </widget>

    <widget name="suggestion_minChars" type="int">
      <categories>
        <category>widgetTypeConf</category>
      </categories>
      <labels>
        <label mode="any">Minimum characters</label>
      </labels>
      <helpLabels>
        <label mode="any">
          The minimal number of characters to type for the
          suggestion to be active. Defaults to 3.
        </label>
      </helpLabels>
      <fields>
        <field>minChars</field>
      </fields>
    </widget>

    <widget name="suggestion_resultLimit" type="int">
      <sinceVersion>8.2</sinceVersion>
      <categories>
        <category>widgetTypeConf</category>
      </categories>
      <labels>
        <label mode="any">Limit returned results</label>
      </labels>
      <helpLabels>
        <label mode="any">
          The maximal number of result returned by the suggestion.
          Defaults to unlimited.
        </label>
      </helpLabels>
      <fields>
        <field>limit</field>
      </fields>
    </widget>

    <widget name="userSuggestion_frequency" type="int">
      <categories>
        <category>widgetTypeConf</category>
      </categories>
      <labels>
        <label mode="any">Frequency</label>
      </labels>
      <helpLabels>
        <label mode="any">
          Delay (in seconds) before activating the suggestion
          pop-up. Default value is 0.
        </label>
      </helpLabels>

      <fields>
        <field>frequency</field>
      </fields>
    </widget>

    <widget name="userSuggestion_requestDelay" type="int">
      <categories>
        <category>widgetTypeConf</category>
      </categories>
      <labels>
        <label mode="any">Request delay</label>
      </labels>
      <helpLabels>
        <label mode="any">
          The requestDelay attribute specifies an amount of time
          in milliseconds for the request to wait in the queue before being sent
          to the server. If a similar request is added to the queue before the
          delay is over, the original request is removed from the queue and not
          sent.
        </label>
      </helpLabels>
      <fields>
        <field>requestDelay</field>
      </fields>
    </widget>

    <widget name="suggestion_width" type="text">
      <categories>
        <category>widgetTypeConf</category>
      </categories>
      <labels>
        <label mode="any">Width</label>
      </labels>
      <helpLabels>
        <label mode="any">The suggestion width.</label>
      </helpLabels>
      <fields>
        <field>width</field>
      </fields>
    </widget>

    <widget name="suggestion_helpLabel" type="text">
      <categories>
        <category>widgetTypeConf</category>
      </categories>
      <labels>
        <label mode="any">Help Label</label>
      </labels>
      <helpLabels>
        <label mode="any">
          The help label is displayed below the
          widget.
        </label>
      </helpLabels>
      <fields>
        <field>helpLabel</field>
      </fields>
    </widget>

    <widget name="select2_containerCssClass" type="text">
      <categories>
        <category>widgetTypeConf</category>
      </categories>
      <labels>
        <label mode="any">Container css class</label>
      </labels>
      <helpLabels>
        <label mode="any">
          Css class of the Select2 selection container
        </label>
      </helpLabels>
      <fields>
        <field>containerCssClass</field>
      </fields>
    </widget>

    <widget name="select2_dropdownCssClass" type="text">
      <categories>
        <category>widgetTypeConf</category>
      </categories>
      <labels>
        <label mode="any">Dropdown css class</label>
      </labels>
      <helpLabels>
        <label mode="any">
          Css class of the Select2 dropdown suggestion
        </label>
      </helpLabels>
      <fields>
        <field>dropdownCssClass</field>
      </fields>
    </widget>

    <widget name="select2_suggestionFormatter" type="text">
      <categories>
        <category>widgetTypeConf</category>
      </categories>
      <labels>
        <label mode="any">Suggestion Formatter</label>
      </labels>
      <helpLabels>
        <label mode="any">
          Name of the JavaScript function that
          will be
          called by select2 to do the formatting of the
          suggestedentries.
          The
          target function should take as input
          the javascript Document as
          returned by Automation and should
          return some Html.
          Use the "Inline Javascript" property field to define your own
          formatter.
        </label>
      </helpLabels>
      <fields>
        <field>suggestionFormatter</field>
      </fields>
    </widget>

    <widget name="select2_selectionFormatter" type="text">
      <categories>
        <category>widgetTypeConf</category>
      </categories>
      <labels>
        <label mode="any">Selection Formatter</label>
      </labels>
      <helpLabels>
        <label mode="any">
          Name of the JavaScript function that
          will be
          called by the widget to do the formatting of the
          selected entries.
          The
          target function should take as input
          the javascript Document as
          returned by Automation and should
          return some Html.
          Use the "Inline Javascript" property field to define your own
          formatter.
        </label>
      </helpLabels>
      <fields>
        <field>selectionFormatter</field>
      </fields>
    </widget>

    <widget name="select2_additionalParam" type="text">
      <categories>
        <category>widgetTypeConf</category>
      </categories>
      <labels>
        <label mode="any">Additional Operation Parameters</label>
      </labels>
      <helpLabels>
        <label mode="any">
          Name of the JavaScript function that
          will be
          called by select2 to pass additional parameters to
          the automation operation. See https://doc.nuxeo.com/x/iQhvAQ.
        </label>
      </helpLabels>
      <fields>
        <field>additionalOperationParameters</field>
      </fields>
    </widget>

    <widget name="select2_inlinejsDemoPreview" type="textarea">
      <categories>
        <category>widgetTypeConf</category>
      </categories>
      <labels>
        <label mode="any">Inline Javascript</label>
      </labels>
      <widgetModes>
        <mode value="any">hidden</mode>
        <mode value="edit_demo_preview">#{layout.mode}</mode>
      </widgetModes>
      <helpLabels>
        <label mode="any">
          Javascript to be injected in the page with
          the Widget.
          You can define here custom formatters
          referenced in "Selection
          Formatter" and
          "Suggestion Formatter" fields. Example:
          &lt;pre&gt;
          function myFormatter(entry) {
          var markup = entry.displayLabel;
          return markup;
          }
          &lt;/pre&gt; </label>
      </helpLabels>
      <fields>
        <field>inlinejs</field>
      </fields>
    </widget>

    <widget name="select2_inlinejs" type="codearea">
      <categories>
        <category>widgetTypeConf</category>
      </categories>
      <labels>
        <label mode="any">Inline Javascript</label>
      </labels>
      <widgetModes>
        <mode value="edit_demo_preview">hidden</mode>
      </widgetModes>
      <helpLabels>
        <label mode="any">
          Javascript to be injected in the page with
          the Widget.
          You can define here custom formatters
          referenced in "Selection
          Formatter" and
          "Suggestion Formatter" fields. Example:
          &lt;pre&gt;
          function myFormatter(entry) {
          var markup = entry.displayLabel;
          return markup;
          }
          &lt;/pre&gt; </label>
      </helpLabels>
      <fields>
        <field>inlinejs</field>
      </fields>
      <properties mode="any">
        <property name="language">javascript</property>
      </properties>
    </widget>

    <widget name="select2_directorySuggestion_canAddNewEntry" type="checkbox">
      <categories>
        <category>widgetTypeConf</category>
      </categories>
      <labels>
        <label mode="any">Can add new entry</label>
      </labels>
      <helpLabels>
        <label mode="any">
          Boolean stating if user should be able to add a new
          entry on the directory from this widget. Available since 5.9.1,
          defaults to "false".
        </label>
      </helpLabels>
      <fields>
        <field>canAddNewEntry</field>
      </fields>
    </widget>

    <widget name="select2_directorySuggestion_addNewEntryFilter" type="text">
      <categories>
        <category>widgetTypeConf</category>
      </categories>
      <labels>
        <label mode="any">Filter for adding a new entry</label>
      </labels>
      <helpLabels>
        <label mode="any">
          The action filter id used to check whether user should
          be presented the 'add new entry' action on the suggestion widget.
          The
          variable 'directoryName' is available in context for this filter
          evaluation. Available since 5.9.1, defaults to
          'canAddEntryFromSuggestDirectoryWidget'.
        </label>
      </helpLabels>
      <fields>
        <field>addNewEntryFilter</field>
      </fields>
    </widget>

    <widget name="documentSuggestion_tab" type="text">
      <categories>
        <category>widgetTypeConf</category>
      </categories>
      <labels>
        <label mode="any">Tab</label>
      </labels>
      <helpLabels>
        <label mode="any">
          The tab to select when clicking on the document link.
        </label>
      </helpLabels>
      <fields>
        <field>tab</field>
      </fields>
    </widget>

    <widget name="documentSuggestion_subTab" type="text">
      <categories>
        <category>widgetTypeConf</category>
      </categories>
      <labels>
        <label mode="any">Sub Tab</label>
      </labels>
      <helpLabels>
        <label mode="any">
          The sub tab to select when clicking on the document
          link.
        </label>
      </helpLabels>
      <fields>
        <field>subTab</field>
      </fields>
    </widget>

    <widget name="documentSuggestion_pageProviderName" type="text">
      <categories>
        <category>widgetTypeConf</category>
      </categories>
      <labels>
        <label mode="any">Document page provider name</label>
      </labels>
      <helpLabels>
        <label mode="any">
          The page provider that will be called to perform a
          search for the suggestion. It must accept one parameter that will be
          replaced by the suggestion input. Since 5.7, additional parameters set
          on the page provider definition will also be taken into account (but
          the suggestion input will still be used as the first implicit
          parameter). If no name is defined, a default page provider is used.
        </label>
      </helpLabels>
      <fields>
        <field>pageProviderName</field>
      </fields>
    </widget>

    <widget name="documentSuggestion_pageProviderPageSize" type="int">
      <categories>
        <category>widgetTypeConf</category>
      </categories>
      <labels>
        <label mode="any">Document page provider page size</label>
      </labels>
      <helpLabels>
        <label mode="any">
          Page provider result's page size. Default value is 20.
        </label>
      </helpLabels>
      <fields>
        <field>pageSize</field>
      </fields>
    </widget>

    <widget name="documentSuggestion_queryDemoPreview" type="text">
      <categories>
        <category>widgetTypeConf</category>
      </categories>
      <labels>
        <label mode="any">NXQL Query</label>
      </labels>
      <widgetModes>
        <mode value="any">hidden</mode>
        <mode value="edit_demo_preview">#{layout.mode}</mode>
      </widgetModes>
      <helpLabels>
        <label mode="any">
          NXQL Query to fetch the suggestions. This property is
          ignored if a
          Page Provider name is given.
          The widget doesn't append a '%'
          wildcard to the parameter passed to query.
          &lt;p&gt;
          Example: select *
          from Document where dc:title LIKE '?%'
          &lt;/p&gt;
        </label>
      </helpLabels>
      <fields>
        <field>query</field>
      </fields>
    </widget>

    <widget name="documentSuggestion_query" type="codearea">
      <categories>
        <category>widgetTypeConf</category>
      </categories>
      <labels>
        <label mode="any">NXQL Query</label>
      </labels>
      <widgetModes>
        <mode value="edit_demo_preview">hidden</mode>
      </widgetModes>
      <helpLabels>
        <label mode="any">
          NXQL Query to fetch the suggestions. This property is
          ignored if a
          Page Provider name is given.
          The widget doesn't append a '%'
          wildcard to the parameter passed to query.
          &lt;p&gt;
          Example: select *
          from Document where dc:title LIKE '?%'
          &lt;/p&gt;
        </label>
      </helpLabels>
      <fields>
        <field>query</field>
      </fields>
      <properties mode="any">
        <property name="language">nxql</property>
      </properties>
    </widget>

    <widget name="documentSuggestion_documentSchemas" type="text">
      <categories>
        <category>widgetTypeConf</category>
      </categories>
      <labels>
        <label mode="any">Document Schemas</label>
      </labels>
      <helpLabels>
        <label mode="any">
          Document Schemas that should be fetched and
          sent to the
          JS client side. You can enter comma separated values.
          &lt;p&gt;
          Example: dublincore,common
          &lt;/p&gt; </label>
      </helpLabels>
      <fields>
        <field>documentSchemas</field>
      </fields>
    </widget>

    <widget name="documentSuggestion_repository" type="text">
      <categories>
        <category>widgetTypeConf</category>
      </categories>
      <labels>
        <label mode="any">Target Repository</label>
      </labels>
      <helpLabels>
        <label mode="any">
          Id of the Nuxeo repositry that should be
          accessed.
          If
          unsed, the default repository will be used.
        </label>
      </helpLabels>
      <fields>
        <field>repository</field>
      </fields>
    </widget>

    <widget name="suggestion_orderable" type="checkbox">
      <categories>
        <category>widgetTypeConf</category>
      </categories>
      <labels>
        <label mode="any">Orderable</label>
      </labels>
      <helpLabels>
        <label mode="any">
          This attribute controls the possibility to order the
          selected items. Available since 5.6.
        </label>
      </helpLabels>
      <fields>
        <field>orderable</field>
      </fields>
    </widget>

    <widget name="userSuggestion_hideSearchTypeText" type="checkbox">
      <categories>
        <category>widgetTypeConf</category>
      </categories>
      <labels>
        <label mode="any">Hide Search Type Label</label>
      </labels>
      <helpLabels>
        <label mode="any">
          This attribute controls the possibility to hide the
          search type label. Available since 5.7.
        </label>
      </helpLabels>
      <fields>
        <field>hideSearchTypeText</field>
      </fields>
    </widget>

    <widget name="userSuggestion_displaySuggestionOnTop" type="checkbox">
      <categories>
        <category>widgetTypeConf</category>
      </categories>
      <labels>
        <label mode="any">Display Suggestion On Top</label>
      </labels>
      <helpLabels>
        <label mode="any">
          This attribute controls the possibility to display the
          suggestion
          box on top of the search results. Available since 5.7.
        </label>
      </helpLabels>
      <fields>
        <field>displaySuggestionOnTop</field>
      </fields>
    </widget>

    <widget name="suggestion_hideHelpLabel" type="checkbox">
      <categories>
        <category>widgetTypeConf</category>
      </categories>
      <labels>
        <label mode="any">Hide Help Label</label>
      </labels>
      <helpLabels>
        <label mode="any">
          This attribute controls the possibility to hide the
          help label. Available since 5.7.
        </label>
      </helpLabels>
      <fields>
        <field>hideHelpLabel</field>
      </fields>
    </widget>

    <widget name="ajaxReRender" type="text">
      <categories>
        <category>widgetTypeConf</category>
      </categories>
      <labels>
        <label mode="any">Ajax reRender</label>
      </labels>
      <helpLabels>
        <label mode="any">
          Ajax rerender ids, separated by commas.
        </label>
      </helpLabels>
      <fields>
        <field>ajaxReRender</field>
      </fields>
    </widget>

    <widget name="actionsDisplay" type="selectOneListbox">
      <categories>
        <category>widgetTypeConf</category>
      </categories>
      <labels>
        <label mode="any">Actions Display</label>
      </labels>
      <helpLabels>
        <label mode="any">
          If set to 'buttons', actions will be displayed as
          command
          buttons. If set to 'links', actions will be displayed as
          command links. If set to 'icons', actions will be displayed
          as icons.
          Else (default behaviour), actions will be
          displayed as command links
          and display their icons when
          defined.
        </label>
      </helpLabels>
      <fields>
        <field>actionsDisplay</field>
      </fields>
      <selectOptions>
        <option itemLabel="Icons and links (default)" itemValue="icons_links" />
        <option itemLabel="Icons" itemValue="icons" />
        <option itemLabel="Buttons" itemValue="buttons" />
        <option itemLabel="Links" itemValue="links" />
      </selectOptions>
    </widget>

    <widget name="formActionsDisplay" type="selectOneListbox">
      <categories>
        <category>widgetTypeConf</category>
      </categories>
      <labels>
        <label mode="any">Actions Display</label>
      </labels>
      <helpLabels>
        <label mode="any">
          If set to 'buttons', actions will be displayed as
          command
          buttons. If set to 'links', actions will be displayed as
          command links. If set to 'icons', actions will be displayed
          as icons.
          Else (default behaviour), actions will be
          displayed as command links
          and display their icons when
          defined.
        </label>
      </helpLabels>
      <fields>
        <field>actionsDisplay</field>
      </fields>
      <selectOptions>
        <option itemLabel="Buttons (default)" itemValue="buttons" />
        <option itemLabel="Icons and links" itemValue="icons_links" />
        <option itemLabel="Icons" itemValue="icons" />
        <option itemLabel="Links" itemValue="links" />
      </selectOptions>
    </widget>

  </extension>

  <extension target="org.nuxeo.ecm.platform.forms.layout.WebLayoutManager"
    point="widgettypes">

    <widgetType name="select_path_tree">
      <configuration>
        <sinceVersion>5.4.0</sinceVersion>
        <title>Path tree</title>
        <description>
          Widget allowing to select one or more values from a Tree
          constructed
          from the navigation tree.

          Set 'showAllDomains' property to
          true if you want to be able to select
          a path from an other domain than
          the current one.
        </description>
        <categories>
          <category>search</category>
        </categories>
        <supportedModes>
          <mode>edit</mode>
          <mode>view</mode>
        </supportedModes>
        <fields>
          <list>true</list>
          <complex>false</complex>
          <supportedTypes>
            <type>string</type>
            <type>path</type>
          </supportedTypes>
        </fields>
      </configuration>
      <handler-class>
        org.nuxeo.ecm.platform.forms.layout.facelets.plugins.TemplateWidgetTypeHandler
      </handler-class>
      <property name="template">
        /widgets/select_path_tree_widget_template.xhtml
      </property>
    </widgetType>

    <widgetType name="singleUserSuggestion">
      <configuration>
        <title>Single user/group suggestion</title>
        <sinceVersion>5.4.2</sinceVersion>
        <supportedModes>
          <mode>edit</mode>
          <mode>view</mode>
        </supportedModes>
        <fields>
          <list>false</list>
          <complex>false</complex>
          <supportedTypes>
            <type>string</type>
          </supportedTypes>
        </fields>
        <categories>
          <category>document</category>
        </categories>
        <properties>
          <defaultValues mode="any">
            <property name="width">100%</property>
          </defaultValues>
          <defaultValues mode="edit">
            <property name="minChars">3</property>
          </defaultValues>
          <layouts mode="view">
            <layout name="singleUserSuggestion_widget_type_properties_view">
              <rows>
                <row>
                  <widget category="widgetTypeConf">userSuggestion_prefixed</widget>
                </row>
                <row>
                  <widget category="widgetTypeConf">userSuggestion_firstLabelField
                  </widget>
                </row>
                <row>
                  <widget category="widgetTypeConf">userSuggestion_secondLabelField
                  </widget>
                </row>
                <row>
                  <widget category="widgetTypeConf">userSuggestion_thirdLabelField
                  </widget>
                </row>
                <row>
                  <widget category="widgetTypeConf">userSuggestion_hideFirstLabel</widget>
                </row>
                <row>
                  <widget category="widgetTypeConf">userSuggestion_hideSecondLabel
                  </widget>
                </row>
                <row>
                  <widget category="widgetTypeConf">userSuggestion_hideThirdLabel</widget>
                </row>
                <row>
                  <widget category="widgetTypeConf">userSuggestion_displayAction</widget>
                </row>
                <row>
                  <widget category="widgetTypeConf">userSuggestion_displayEmailInSuggestion
                  </widget>
                </row>
              </rows>
            </layout>
          </layouts>
          <layouts mode="edit">
            <layout name="singleUserSuggestion_widget_type_properties_edit">
              <rows>
                <row>
                  <widget category="widgetTypeConf">required</widget>
                </row>
                <row>
                  <widget category="widgetTypeConf">placeholder</widget>
                </row>
                <row>
                  <widget category="widgetTypeConf">suggestion_width</widget>
                </row>
                <row>
                  <widget category="widgetTypeConf">select2_frequency</widget>
                </row>
                <row>
                  <widget category="widgetTypeConf">suggestion_minChars</widget>
                </row>
                <row>
                  <widget category="widgetTypeConf">userSuggestionSearchType</widget>
                </row>
                <row>
                  <widget category="widgetTypeConf">userSuggestion_groupRestriction
                  </widget>
                </row>
                <row>
                  <widget category="widgetTypeConf">userSuggestion_prefixed</widget>
                </row>
                <row>
                  <widget category="widgetTypeConf">userSuggestionMaxSearchResults
                  </widget>
                </row>
                <row>
                  <widget category="widgetTypeConf">ajaxReRender</widget>
                </row>
                <row>
                  <widget category="widgetTypeConf">userSuggestion_displayEmailInSuggestion
                  </widget>
                </row>
                <row>
                  <widget category="widgetTypeConf">suggestion_helpLabel</widget>
                </row>
                <row>
                  <widget category="widgetTypeConf">suggestion_hideHelpLabel</widget>
                </row>
                <row>
                  <widget category="widgetTypeConf">select2_containerCssClass</widget>
                </row>
                <row>
                  <widget category="widgetTypeConf">select2_dropdownCssClass</widget>
                </row>
                <row>
                  <widget category="widgetTypeConf">select2_inlinejs</widget>
                </row>
                <row>
                  <widget category="widgetTypeConf">select2_inlinejsDemoPreview</widget>
                </row>
                <row>
                  <widget category="widgetTypeConf">select2_selectionFormatter</widget>
                </row>
                <row>
                  <widget category="widgetTypeConf">select2_suggestionFormatter</widget>
                </row>
                <row>
                  <widget category="widgetTypeConf">select2_dropdownOnArrow</widget>
                </row>
              </rows>
            </layout>
          </layouts>
        </properties>
      </configuration>
      <handler-class>
        org.nuxeo.ecm.platform.forms.layout.facelets.plugins.TemplateWidgetTypeHandler
      </handler-class>
      <property name="template">
        /widgets/single_user_suggestion_widget_template.xhtml
      </property>
    </widgetType>

    <widgetType name="multipleUsersSuggestion">
      <configuration>
        <title>Multiple users/groups suggestion</title>
        <sinceVersion>5.4.2</sinceVersion>
        <supportedModes>
          <mode>edit</mode>
          <mode>view</mode>
        </supportedModes>
        <fields>
          <list>true</list>
          <complex>false</complex>
          <supportedTypes>
            <type>string</type>
          </supportedTypes>
        </fields>
        <categories>
          <category>document</category>
        </categories>
        <properties>
          <defaultValues mode="any">
            <property name="width">100%</property>
          </defaultValues>
          <defaultValues mode="edit">
            <property name="minChars">3</property>
          </defaultValues>
          <layouts mode="view">
            <layout name="multipleUsersSuggestion_widget_type_properties_view">
              <rows>
                <row>
                  <widget category="widgetTypeConf">userSuggestion_prefixed</widget>
                </row>
                <row>
                  <widget category="widgetTypeConf">userSuggestionSearchType</widget>
                </row>
                <row>
                  <widget category="widgetTypeConf">userSuggestion_firstLabelField
                  </widget>
                </row>
                <row>
                  <widget category="widgetTypeConf">userSuggestion_secondLabelField
                  </widget>
                </row>
                <row>
                  <widget category="widgetTypeConf">userSuggestion_thirdLabelField
                  </widget>
                </row>
                <row>
                  <widget category="widgetTypeConf">userSuggestion_hideFirstLabel</widget>
                </row>
                <row>
                  <widget category="widgetTypeConf">userSuggestion_hideSecondLabel
                  </widget>
                </row>
                <row>
                  <widget category="widgetTypeConf">userSuggestion_hideThirdLabel</widget>
                </row>
                <row>
                  <widget category="widgetTypeConf">userSuggestion_displayAction</widget>
                </row>
                <row>
                  <widget category="widgetTypeConf">userSuggestion_displayEmailInSuggestion
                  </widget>
                </row>
              </rows>
            </layout>
          </layouts>
          <layouts mode="edit">
            <layout name="multipleUsersSuggestion_widget_type_properties_edit">
              <rows>
                <row>
                  <widget category="widgetTypeConf">required</widget>
                </row>
                <row>
                  <widget category="widgetTypeConf">placeholder</widget>
                </row>
                <row>
                  <widget category="widgetTypeConf">suggestion_width</widget>
                </row>
                <row>
                  <widget category="widgetTypeConf">select2_frequency</widget>
                </row>
                <row>
                  <widget category="widgetTypeConf">select2_closeOnSelect</widget>
                </row>
                <row>
                  <widget category="widgetTypeConf">suggestion_minChars</widget>
                </row>
                <row>
                  <widget category="widgetTypeConf">suggestion_orderable</widget>
                </row>
                <row>
                  <widget category="widgetTypeConf">userSuggestionSearchType</widget>
                </row>
                <row>
                  <widget category="widgetTypeConf">userSuggestion_groupRestriction
                  </widget>
                </row>
                <row>
                  <widget category="widgetTypeConf">userSuggestion_prefixed</widget>
                </row>
                <row>
                  <widget category="widgetTypeConf">userSuggestionMaxSearchResults
                  </widget>
                </row>
                <row>
                  <widget category="widgetTypeConf">ajaxReRender</widget>
                </row>
                <row>
                  <widget category="widgetTypeConf">userSuggestion_displayEmailInSuggestion
                  </widget>
                </row>
                <row>
                  <widget category="widgetTypeConf">suggestion_helpLabel</widget>
                </row>
                <row>
                  <widget category="widgetTypeConf">suggestion_hideHelpLabel</widget>
                </row>
                <row>
                  <widget category="widgetTypeConf">select2_containerCssClass</widget>
                </row>
                <row>
                  <widget category="widgetTypeConf">select2_dropdownCssClass</widget>
                </row>
                <row>
                  <widget category="widgetTypeConf">select2_inlinejs</widget>
                </row>
                <row>
                  <widget category="widgetTypeConf">select2_inlinejsDemoPreview</widget>
                </row>
                <row>
                  <widget category="widgetTypeConf">select2_selectionFormatter</widget>
                </row>
                <row>
                  <widget category="widgetTypeConf">select2_suggestionFormatter</widget>
                </row>
                <row>
                  <widget category="widgetTypeConf">select2_separator</widget>
                </row>
              </rows>
            </layout>
          </layouts>
        </properties>
      </configuration>
      <handler-class>
        org.nuxeo.ecm.platform.forms.layout.facelets.plugins.TemplateWidgetTypeHandler
      </handler-class>
      <property name="template">
        /widgets/user_suggestion_widget_template.xhtml
      </property>
    </widgetType>

    <widgetType name="suggestOneDirectory">
      <configuration>
        <sinceVersion>5.7.3</sinceVersion>
        <title>Single directory suggestion</title>
        <description>
          <p>Uses Select2 JS library to render a selection / suggestion widget
            where suggestions are loaded from a given directory.
          </p>
        </description>
        <categories>
          <category>document</category>
        </categories>
        <supportedModes>
          <mode>view</mode>
          <mode>edit</mode>
        </supportedModes>
        <fields>
          <list>false</list>
          <complex>false</complex>
          <supportedTypes>
            <type>string</type>
          </supportedTypes>
        </fields>
        <properties>
          <defaultValues mode="any">
            <property name="width">100%</property>
          </defaultValues>
          <defaultValues mode="edit">
            <property name="minChars">0</property>
          </defaultValues>
          <layouts mode="view">
            <layout name="suggestOneDirectory_type_properties_view">
              <rows>
                <row>
                  <widget category="widgetTypeConf">select2_directory_name</widget>
                </row>
                <row>
                  <widget category="widgetTypeConf">suggestion_width</widget>
                </row>
                <row>
                  <widget category="widgetTypeConf">directory_localize</widget>
                </row>
                <row>
                  <widget category="widgetTypeConf">select2_dbl10n</widget>
                </row>
                <row>
                  <widget category="widgetTypeConf">select2_directory_labelFieldName
                  </widget>
                </row>
                <row>
                  <widget category="widgetTypeConf">select2_containerCssClass</widget>
                </row>
                <row>
                  <widget category="widgetTypeConf">select2_inlinejs</widget>
                </row>
                <row>
                  <widget category="widgetTypeConf">select2_inlinejsDemoPreview</widget>
                </row>
                <row>
                  <widget category="widgetTypeConf">select2_selectionFormatter</widget>
                </row>
              </rows>
            </layout>
          </layouts>
          <layouts mode="edit">
            <layout name="suggestOneDirectory_type_properties_edit">
              <rows>
                <row>
                  <widget category="widgetTypeConf">select2_directory_name</widget>
                </row>
                <row>
                  <widget category="widgetTypeConf">required</widget>
                </row>
                <row>
                  <widget category="widgetTypeConf">placeholder</widget>
                </row>
                <row>
                  <widget category="widgetTypeConf">suggestion_width</widget>
                </row>
                <row>
                  <widget category="widgetTypeConf">select2_frequency</widget>
                </row>
                <row>
                  <widget category="widgetTypeConf">suggestion_minChars</widget>
                </row>
                <row>
                  <widget category="widgetTypeConf">suggestion_resultLimit</widget>
                </row>
                <row>
                  <widget category="widgetTypeConf">select2_directory_fetch_mode</widget>
                </row>
                <row>
                  <widget category="widgetTypeConf">directory_localize</widget>
                </row>
                <row>
                  <widget category="widgetTypeConf">select2_dbl10n</widget>
                </row>
                <row>
                  <widget category="widgetTypeConf">select2_directory_labelFieldName
                  </widget>
                </row>
                <row>
                  <widget category="widgetTypeConf">select2_canSelectParent</widget>
                </row>
                <row>
                  <widget category="widgetTypeConf">select2_filterParent</widget>
                </row>
                <row>
                  <widget category="widgetTypeConf">displayObsoleteEntries</widget>
                </row>
                <row>
                  <widget category="widgetTypeConf">ajaxReRender</widget>
                </row>
                <row>
                  <widget category="widgetTypeConf">suggestion_helpLabel</widget>
                </row>
                <row>
                  <widget category="widgetTypeConf">suggestion_hideHelpLabel</widget>
                </row>
                <row>
                  <widget category="widgetTypeConf">select2_containerCssClass</widget>
                </row>
                <row>
                  <widget category="widgetTypeConf">select2_dropdownCssClass</widget>
                </row>
                <row>
                  <widget category="widgetTypeConf">select2_inlinejs</widget>
                </row>
                <row>
                  <widget category="widgetTypeConf">select2_inlinejsDemoPreview</widget>
                </row>
                <row>
                  <widget category="widgetTypeConf">select2_selectionFormatter</widget>
                </row>
                <row>
                  <widget category="widgetTypeConf">select2_suggestionFormatter</widget>
                </row>
                <row>
                  <widget category="widgetTypeConf">select2_dropdownOnArrow</widget>
                </row>
                <row>
                  <widget category="widgetTypeConf">select2_directorySuggestion_canAddNewEntry</widget>
                </row>
                <row>
                  <widget category="widgetTypeConf">select2_directorySuggestion_addNewEntryFilter</widget>
                </row>
              </rows>
            </layout>
          </layouts>
        </properties>
      </configuration>
      <handler-class>
        org.nuxeo.ecm.platform.forms.layout.facelets.plugins.TemplateWidgetTypeHandler
      </handler-class>
      <property name="template">
        /widgets/suggest_one_directory_widget_template.xhtml
      </property>
    </widgetType>

    <widgetType name="suggestManyDirectory">
      <configuration>
        <sinceVersion>5.7.3</sinceVersion>
        <title>Multiple directory suggestion</title>
        <description>
          <p>Uses Select2 JS library to render a selection / suggestion widget
            where suggestions are loaded from a given directory.
          </p>
        </description>
        <categories>
          <category>document</category>
        </categories>
        <supportedModes>
          <mode>view</mode>
          <mode>edit</mode>
        </supportedModes>
        <fields>
          <list>true</list>
          <complex>false</complex>
          <supportedTypes>
            <type>string</type>
          </supportedTypes>
        </fields>
        <properties>
          <defaultValues mode="any">
            <property name="width">100%</property>
          </defaultValues>
          <defaultValues mode="edit">
            <property name="minChars">0</property>
          </defaultValues>
          <layouts mode="view">
            <layout name="suggestManyDirectory_widget_type_properties_view">
              <rows>
                <row>
                  <widget category="widgetTypeConf">select2_directory_name</widget>
                </row>
                <row>
                  <widget category="widgetTypeConf">suggestion_width</widget>
                </row>
                <row>
                  <widget category="widgetTypeConf">directory_localize</widget>
                </row>
                <row>
                  <widget category="widgetTypeConf">select2_dbl10n</widget>
                </row>
                <row>
                  <widget category="widgetTypeConf">select2_directory_labelFieldName
                  </widget>
                </row>
                <row>
                  <widget category="widgetTypeConf">select2_containerCssClass</widget>
                </row>
                <row>
                  <widget category="widgetTypeConf">select2_inlinejs</widget>
                </row>
                <row>
                  <widget category="widgetTypeConf">select2_inlinejsDemoPreview</widget>
                </row>
                <row>
                  <widget category="widgetTypeConf">select2_selectionFormatter</widget>
                </row>
                <row>
                  <widget category="widgetTypeConf">select2_separator</widget>
                </row>
              </rows>
            </layout>
          </layouts>
          <layouts mode="edit">
            <layout name="suggestManyDirectory_widget_type_properties_edit">
              <rows>
                <row>
                  <widget category="widgetTypeConf">select2_directory_name</widget>
                </row>
                <row>
                  <widget category="widgetTypeConf">required</widget>
                </row>
                <row>
                  <widget category="widgetTypeConf">placeholder</widget>
                </row>
                <row>
                  <widget category="widgetTypeConf">suggestion_width</widget>
                </row>
                <row>
                  <widget category="widgetTypeConf">select2_frequency</widget>
                </row>
                <row>
                  <widget category="widgetTypeConf">select2_closeOnSelect</widget>
                </row>
                <row>
                  <widget category="widgetTypeConf">suggestion_minChars</widget>
                </row>
                <row>
                  <widget category="widgetTypeConf">suggestion_resultLimit</widget>
                </row>
                <row>
                  <widget category="widgetTypeConf">select2_directory_fetch_mode</widget>
                </row>
                <row>
                  <widget category="widgetTypeConf">suggestion_orderable</widget>
                </row>
                <row>
                  <widget category="widgetTypeConf">directory_localize</widget>
                </row>
                <row>
                  <widget category="widgetTypeConf">select2_dbl10n</widget>
                </row>
                <row>
                  <widget category="widgetTypeConf">select2_directory_labelFieldName
                  </widget>
                </row>
                <row>
                  <widget category="widgetTypeConf">select2_canSelectParent</widget>
                </row>
                <row>
                  <widget category="widgetTypeConf">select2_filterParent</widget>
                </row>
                <row>
                  <widget category="widgetTypeConf">displayObsoleteEntries</widget>
                </row>
                <row>
                  <widget category="widgetTypeConf">ajaxReRender</widget>
                </row>
                <row>
                  <widget category="widgetTypeConf">suggestion_helpLabel</widget>
                </row>
                <row>
                  <widget category="widgetTypeConf">suggestion_hideHelpLabel</widget>
                </row>
                <row>
                  <widget category="widgetTypeConf">select2_containerCssClass</widget>
                </row>
                <row>
                  <widget category="widgetTypeConf">select2_dropdownCssClass</widget>
                </row>
                <row>
                  <widget category="widgetTypeConf">select2_inlinejs</widget>
                </row>
                <row>
                  <widget category="widgetTypeConf">select2_inlinejsDemoPreview</widget>
                </row>
                <row>
                  <widget category="widgetTypeConf">select2_selectionFormatter</widget>
                </row>
                <row>
                  <widget category="widgetTypeConf">select2_suggestionFormatter</widget>
                </row>
                <row>
                  <widget category="widgetTypeConf">select2_directorySuggestion_canAddNewEntry</widget>
                </row>
                <row>
                  <widget category="widgetTypeConf">select2_directorySuggestion_addNewEntryFilter</widget>
                </row>
                <row>
                  <widget category="widgetTypeConf">select2_separator</widget>
                </row>
              </rows>
            </layout>
          </layouts>
        </properties>
      </configuration>
      <handler-class>
        org.nuxeo.ecm.platform.forms.layout.facelets.plugins.TemplateWidgetTypeHandler
      </handler-class>
      <property name="template">
        /widgets/suggest_many_directory_widget_template.xhtml
      </property>
    </widgetType>

    <!-- deprecated since 5.7.3, use a multipleUsersSuggestion with "prefixed" property
      = true now -->
    <widgetType name="multiplePrefixedUsersSuggestion">
      <configuration>
        <title>Multiple prefixed users/groups suggestion</title>
        <sinceVersion>5.4.2</sinceVersion>
        <deprecatedVersion>5.7.3</deprecatedVersion>
        <supportedModes>
          <mode>view</mode>
          <mode>edit</mode>
        </supportedModes>
        <fields>
          <list>true</list>
          <complex>false</complex>
          <supportedTypes>
            <type>string</type>
          </supportedTypes>
        </fields>
        <categories>
          <category>document</category>
        </categories>
        <properties>
          <layouts mode="edit">
            <layout
              name="multiplePrefixedUsersSuggestion_widget_type_properties_edit">
              <rows>
                <row>
                  <widget category="widgetTypeConf">required</widget>
                </row>
                <row>
                  <widget category="widgetTypeConf">userSuggestionSearchType</widget>
                </row>
                <row>
                  <widget category="widgetTypeConf">userSuggestionMaxSearchResults
                  </widget>
                </row>
                <row>
                  <widget category="widgetTypeConf">suggestion_minChars</widget>
                </row>
                <row>
                  <widget category="widgetTypeConf">userSuggestion_frequency</widget>
                </row>
                <row>
                  <widget category="widgetTypeConf">userSuggestion_requestDelay</widget>
                </row>
                <row>
                  <widget category="widgetTypeConf">suggestion_width</widget>
                </row>
                <row>
                  <widget category="widgetTypeConf">suggestion_orderable</widget>
                </row>
                <row>
                  <widget category="widgetTypeConf">userSuggestion_displaySuggestionOnTop
                  </widget>
                </row>
                <row>
                  <widget category="widgetTypeConf">suggestion_hideHelpLabel</widget>
                </row>
                <row>
                  <widget category="widgetTypeConf">userSuggestion_hideSearchTypeText
                  </widget>
                </row>
              </rows>
            </layout>
          </layouts>
        </properties>
      </configuration>
      <handler-class>
        org.nuxeo.ecm.platform.forms.layout.facelets.plugins.TemplateWidgetTypeHandler
      </handler-class>
      <property name="template">
        /widgets/user_prefixed_suggestion_widget_template.xhtml
      </property>
    </widgetType>

    <widgetType name="multipleDocumentsSuggestion">
      <configuration>
        <title>Multiple documents suggestion</title>
        <sinceVersion>5.4.2</sinceVersion>
        <supportedModes>
          <mode>view</mode>
          <mode>edit</mode>
        </supportedModes>
        <fields>
          <list>true</list>
          <complex>false</complex>
          <supportedTypes>
            <type>string</type>
          </supportedTypes>
        </fields>
        <categories>
          <category>document</category>
        </categories>
        <properties>
          <defaultValues mode="any">
            <property name="width">100%</property>
          </defaultValues>
          <defaultValues mode="edit">
            <property name="pageProviderName">default_document_suggestion</property>
            <property name="documentSchemas">dublincore,common</property>
            <property name="minChars">3</property>
            <property name="restoreSeamCtx">true</property>
          </defaultValues>
          <layouts mode="view">
            <layout name="multipleDocumentsSuggestion_widget_type_properties_view">
              <rows>
                <row>
                  <widget category="widgetTypeConf">documentSuggestion_tab</widget>
                </row>
                <row>
                  <widget category="widgetTypeConf">documentSuggestion_subTab</widget>
                </row>
              </rows>
            </layout>
          </layouts>
          <layouts mode="edit">
            <layout name="multipleDocumentsSuggestion_widget_type_properties_edit">
              <rows>
                <row>
                  <widget category="widgetTypeConf">required</widget>
                </row>
                <row>
                  <widget category="widgetTypeConf">placeholder</widget>
                </row>
                <row>
                  <widget category="widgetTypeConf">suggestion_width</widget>
                </row>
                <row>
                  <widget category="widgetTypeConf">select2_frequency</widget>
                </row>
                <row>
                  <widget category="widgetTypeConf">select2_closeOnSelect</widget>
                </row>
                <row>
                  <widget category="widgetTypeConf">suggestion_minChars</widget>
                </row>
                <row>
                  <widget category="widgetTypeConf">suggestion_orderable</widget>
                </row>
                <row>
                  <widget category="widgetTypeConf">documentSuggestion_query</widget>
                </row>
                <row>
                  <widget category="widgetTypeConf">documentSuggestion_queryDemoPreview</widget>
                </row>
                <row>
                  <widget category="widgetTypeConf">documentSuggestion_pageProviderName
                  </widget>
                </row>
                <row>
                  <widget category="widgetTypeConf">documentSuggestion_pageProviderPageSize
                  </widget>
                </row>
                <row>
                  <widget category="widgetTypeConf">documentSuggestion_repository</widget>
                </row>
                <row>
                  <widget category="widgetTypeConf">documentSuggestion_documentSchemas
                  </widget>
                </row>
                <row>
                  <widget category="widgetTypeConf">ajaxReRender</widget>
                </row>
                <row>
                  <widget category="widgetTypeConf">suggestion_helpLabel</widget>
                </row>
                <row>
                  <widget category="widgetTypeConf">suggestion_hideHelpLabel</widget>
                </row>
                <row>
                  <widget category="widgetTypeConf">select2_containerCssClass</widget>
                </row>
                <row>
                  <widget category="widgetTypeConf">select2_dropdownCssClass</widget>
                </row>
                <row>
                  <widget category="widgetTypeConf">select2_inlinejs</widget>
                </row>
                <row>
                  <widget category="widgetTypeConf">select2_inlinejsDemoPreview</widget>
                </row>
                <row>
                  <widget category="widgetTypeConf">select2_selectionFormatter</widget>
                </row>
                <row>
                  <widget category="widgetTypeConf">select2_suggestionFormatter
                  </widget>
                </row>
                <row>
                  <widget category="widgetTypeConf">select2_additionalParam</widget>
                </row>
                <row>
                  <widget category="widgetTypeConf">select2_separator</widget>
                </row>
              </rows>
            </layout>
          </layouts>
        </properties>
      </configuration>
      <handler-class>
        org.nuxeo.ecm.platform.forms.layout.facelets.plugins.TemplateWidgetTypeHandler
      </handler-class>
      <property name="template">
        /widgets/multiple_document_suggestion_widget_template.xhtml
      </property>
    </widgetType>

    <widgetType name="singleDocumentSuggestion">
      <configuration>
        <title>Single document suggestion</title>
        <sinceVersion>5.5</sinceVersion>
        <supportedModes>
          <mode>view</mode>
          <mode>edit</mode>
        </supportedModes>
        <fields>
          <list>false</list>
          <complex>false</complex>
          <supportedTypes>
            <type>string</type>
          </supportedTypes>
        </fields>
        <categories>
          <category>document</category>
        </categories>
        <properties>
          <defaultValues mode="any">
            <property name="width">100%</property>
          </defaultValues>
          <defaultValues mode="edit">
            <property name="pageProviderName">default_document_suggestion</property>
            <property name="documentSchemas">dublincore,common</property>
            <property name="minChars">3</property>
            <property name="restoreSeamCtx">true</property>
          </defaultValues>
          <layouts mode="view">
            <layout name="singleDocumentSuggestion_widget_type_properties_view">
              <rows>
                <row>
                  <widget category="widgetTypeConf">documentSuggestion_tab</widget>
                </row>
                <row>
                  <widget category="widgetTypeConf">documentSuggestion_subTab</widget>
                </row>
              </rows>
            </layout>
          </layouts>
          <layouts mode="edit">
            <layout name="singleDocumentSuggestion_widget_type_properties_edit">
              <rows>
                <row>
                  <widget category="widgetTypeConf">required</widget>
                </row>
                <row>
                  <widget category="widgetTypeConf">placeholder</widget>
                </row>
                <row>
                  <widget category="widgetTypeConf">suggestion_width</widget>
                </row>
                <row>
                  <widget category="widgetTypeConf">select2_frequency</widget>
                </row>
                <row>
                  <widget category="widgetTypeConf">suggestion_minChars</widget>
                </row>
                <row>
                  <widget category="widgetTypeConf">documentSuggestion_query</widget>
                </row>
                <row>
                  <widget category="widgetTypeConf">documentSuggestion_queryDemoPreview</widget>
                </row>
                <row>
                  <widget category="widgetTypeConf">documentSuggestion_pageProviderName
                  </widget>
                </row>
                <row>
                  <widget category="widgetTypeConf">documentSuggestion_pageProviderPageSize
                  </widget>
                </row>
                <row>
                  <widget category="widgetTypeConf">documentSuggestion_repository</widget>
                </row>
                <row>
                  <widget category="widgetTypeConf">documentSuggestion_documentSchemas
                  </widget>
                </row>
                <row>
                  <widget category="widgetTypeConf">ajaxReRender</widget>
                </row>
                <row>
                  <widget category="widgetTypeConf">suggestion_helpLabel</widget>
                </row>
                <row>
                  <widget category="widgetTypeConf">suggestion_hideHelpLabel</widget>
                </row>
                <row>
                  <widget category="widgetTypeConf">select2_containerCssClass</widget>
                </row>
                <row>
                  <widget category="widgetTypeConf">select2_dropdownCssClass</widget>
                </row>
                <row>
                  <widget category="widgetTypeConf">select2_inlinejs</widget>
                </row>
                <row>
                  <widget category="widgetTypeConf">select2_inlinejsDemoPreview</widget>
                </row>
                <row>
                  <widget category="widgetTypeConf">select2_selectionFormatter</widget>
                </row>
                <row>
                  <widget category="widgetTypeConf">select2_suggestionFormatter
                  </widget>
                </row>
                <row>
                  <widget category="widgetTypeConf">select2_additionalParam</widget>
                </row>
                <row>
                  <widget category="widgetTypeConf">select2_dropdownOnArrow</widget>
                </row>
              </rows>
            </layout>
          </layouts>
        </properties>
      </configuration>
      <handler-class>
        org.nuxeo.ecm.platform.forms.layout.facelets.plugins.TemplateWidgetTypeHandler
      </handler-class>
      <property name="template">
        /widgets/single_document_suggestion_widget_template.xhtml
      </property>
    </widgetType>

    <widgetType name="title_link">
      <configuration>
        <sinceVersion>6.0</sinceVersion>
        <title>Title with link</title>
        <description>
          <p>
            This widget type displays a link to navigate to a document, as well
            as a download link for the document binary content.
          </p>
          <p>
            It requires the following fields configuration:
            <ul>
              <li>
                first field maps the document model, it will be used to
                display the document link and its title
              </li>
              <li>
                second field maps the unique id to be used for contextual menu
                (e.g. the document model id)
              </li>
              <li>
                third field maps the displayed link title (can be the document
                model description)
              </li>
              <li>
                fourth field maps the document model file to be used for
                download link
              </li>
              <li>
                fifth field maps the file name to be used for download link
                (can be the document model file name property value)
              </li>
            </ul>
          </p>
          <p>
            It also requires the following properties configuration:
            <ul>
              <li>
                file_schema: the file schema name, used to check whether
                download link should be displayed (e.g: file)
              </li>
              <li>
                file_property_name: the file property name (e.g file:content)
              </li>
            </ul>
          </p>
        </description>
        <demo id="title_linkWidget" />
        <confProperties>
          <property name="sortPropertyName">dc:title</property>
        </confProperties>
        <fields>
          <list>false</list>
          <complex>false</complex>
          <defaultConfiguration>
            <field></field>
            <field>ref</field>
            <field>dc.description</field>
            <field>file.content</field>
            <field>file.content.filename</field>
          </defaultConfiguration>
        </fields>
        <categories>
          <category>standalone</category>
        </categories>
        <properties>
          <defaultValues mode="any">
            <property name="hideExternalLink">true</property>
          </defaultValues>
          <layouts mode="any">
            <layout name="title_link_widget_type_properties_any">
              <rows>
                <row>
                  <widget>tab</widget>
                </row>
                <row>
                  <widget>subTab</widget>
                </row>
                <row>
                  <widget>target</widget>
                </row>
                <row>
                  <widget category="widgetTypeConf">localize</widget>
                </row>
                <row>
                  <widget>hideExternalLink</widget>
                </row>
                <row>
                  <widget>hideDownloadLink</widget>
                </row>
              </rows>
              <widget name="tab" type="text">
                <labels>
                  <label mode="any">Tab</label>
                </labels>
                <helpLabels>
                  <label mode="any">
                    The tab to select when clicking on the
                    document link.
                  </label>
                </helpLabels>
                <fields>
                  <field>tab</field>
                </fields>
              </widget>
              <widget name="subTab" type="text">
                <labels>
                  <label mode="any">Sub Tab</label>
                </labels>
                <helpLabels>
                  <label mode="any">
                    The sub tab to select when clicking on the
                    document link.
                  </label>
                </helpLabels>
                <fields>
                  <field>subTab</field>
                </fields>
              </widget>
              <widget name="target" type="text">
                <labels>
                  <label mode="any">Target</label>
                </labels>
                <helpLabels>
                  <label mode="any">
                    The target attribute of the link.
                  </label>
                </helpLabels>
                <fields>
                  <field>target</field>
                </fields>
              </widget>
              <widget name="localize" type="checkbox">
                <categories>
                  <category>widgetTypeConf</category>
                </categories>
                <labels>
                  <label mode="any">Localize</label>
                </labels>
                <helpLabels>
                  <label mode="any">
                    Flag indicating that the title is localized.
                  </label>
                </helpLabels>
                <fields>
                  <field>localize</field>
                </fields>
              </widget>
              <widget name="hideExternalLink" type="checkbox">
                <labels>
                  <label mode="any">Hide External Link</label>
                </labels>
                <helpLabels>
                  <label mode="any">
                    Flag indicating that the external link, opening the document
                    in a new conversation, must be hidden.
                  </label>
                </helpLabels>
                <fields>
                  <field>hideExternalLink</field>
                </fields>
              </widget>
              <widget name="hideDownloadLink" type="checkbox">
                <labels>
                  <label mode="any">Hide Download Link</label>
                </labels>
                <helpLabels>
                  <label mode="any">
                    Flag indicating that the download link must be hidden.
                  </label>
                </helpLabels>
                <fields>
                  <field>hideDownloadLink</field>
                </fields>
              </widget>
            </layout>
          </layouts>
        </properties>
      </configuration>
      <handler-class>
        org.nuxeo.ecm.platform.forms.layout.facelets.plugins.TemplateWidgetTypeHandler
      </handler-class>
      <property name="template">
        /widgets/listing/listing_title_link_widget_template.xhtml
      </property>

    </widgetType>

    <widgetType name="title_and_permlink">
      <configuration>
        <sinceVersion>5.4.2</sinceVersion>
        <title>Title and permanent link</title>
        <description>
          This widgets displays the document title with a permlink icon. If the
          document is a version, the major and minor are displayed in
          parenthesis.

          One field is required :
          <ul>
            <li>an empty field to map the document</li>
          </ul>

          Since 5.5, it also displays the document header related actions.
          They
          must be contributed in one of the following categories:
          <ul>
            <li>DOCUMENT_HEADER_ACTIONS_LIST</li>
            <li>DOCUMENT_HEADER_ACTIONS_LIST_HREF</li>
          </ul>

        </description>
        <fields>
          <list>false</list>
          <complex>false</complex>
          <defaultConfiguration>
            <field></field>
            <field>uid:major_version</field>
            <field>uid:minor_version</field>
          </defaultConfiguration>
        </fields>
        <categories>
          <category>standalone</category>
        </categories>
        <properties>
          <layouts mode="any">
            <layout name="title_and_permlink_widget_type_properties_any">
              <rows>
                <row>
                  <widget category="widgetTypeConf">localize</widget>
                </row>
              </rows>
              <widget name="localize" type="checkbox">
                <categories>
                  <category>widgetTypeConf</category>
                </categories>
                <labels>
                  <label mode="any">Localize</label>
                </labels>
                <helpLabels>
                  <label mode="any">
                    Available since 5.7.1. Flag indicating that
                    the title is localized.
                  </label>
                </helpLabels>
                <fields>
                  <field>localize</field>
                </fields>
              </widget>
            </layout>
          </layouts>
        </properties>
      </configuration>
      <handler-class>
        org.nuxeo.ecm.platform.forms.layout.facelets.plugins.TemplateWidgetTypeHandler
      </handler-class>
      <property name="template">
        /widgets/title_with_permlink_widget_template.xhtml
      </property>
    </widgetType>

    <widgetType name="select_l10n_vocabulary_tree">
      <configuration>
        <sinceVersion>5.5</sinceVersion>
        <title>Localized vocabulary tree</title>
        <description>
          Widget allowing to select one or more values in a tree
          constructed
          from a l10nvocabulary or l10nxvocabulary directory.
        </description>
        <categories>
          <category>search</category>
        </categories>
        <supportedModes>
          <mode>edit</mode>
          <mode>view</mode>
        </supportedModes>
        <fields>
          <list>true</list>
          <complex>false</complex>
          <supportedTypes>
            <type>string</type>
          </supportedTypes>
        </fields>
        <properties>
          <layouts mode="any">
            <layout name="select_l10n_vocabulary_tree_widget_type_properties_any">
              <rows>
                <row>
                  <widget>directoryName</widget>
                </row>
                <row>
                  <widget>directoryNameDemoPreview</widget>
                </row>
                <row>
                  <widget>selectIdOnly</widget>
                </row>
                <row>
                  <widget>keySeparator</widget>
                </row>
              </rows>
              <widget name="directoryName" type="selectOneResource">
                <labels>
                  <label mode="any">Vocabulary</label>
                </labels>
                <fields>
                  <field>directoryName</field>
                </fields>
                <widgetModes>
                  <mode value="edit_demo_preview">hidden</mode>
                </widgetModes>
                <properties mode="any">
                  <property name="resourceName">vocabularies</property>
                </properties>
                <properties widgetMode="any">
                  <property name="required">true</property>
                </properties>
              </widget>
              <widget name="directoryNameDemoPreview" type="text">
                <labels>
                  <label mode="any">Vocabulary</label>
                </labels>
                <fields>
                  <field>directoryName</field>
                </fields>
                <widgetModes>
                  <mode value="any">hidden</mode>
                  <mode value="edit_demo_preview">view</mode>
                </widgetModes>
                <properties widgetMode="any">
                  <property name="required">true</property>
                </properties>
              </widget>
              <widget name="selectIdOnly" type="checkbox">
                <labels>
                  <label mode="any">Select id only</label>
                </labels>
                <helpLabels>
                  <label mode="any">
                    If set to true, only the entries id are
                    stored instead of
                    their path.
                  </label>
                </helpLabels>
                <fields>
                  <field>selectIdOnly</field>
                </fields>
              </widget>
              <widget name="keySeparator" type="text">
                <labels>
                  <label mode="any">Key separator</label>
                </labels>
                <helpLabels>
                  <label mode="any">
                    The string used to separate directory keys
                    in the value.
                    Defaults to "/".
                  </label>
                </helpLabels>
                <fields>
                  <field>keySeparator</field>
                </fields>
              </widget>
            </layout>
          </layouts>
          <layouts mode="edit">
            <layout name="select_l10n_vocabulary_tree_widget_type_properties_edit">
              <rows>
                <row>
                  <widget>multiSelect</widget>
                </row>
                <row>
                  <widget category="widgetTypeConf">displayObsoleteEntries</widget>
                </row>
                <row>
                  <widget>ordering</widget>
                </row>
              </rows>
              <widget name="multiSelect" type="checkbox">
                <labels>
                  <label mode="any">Multiple selection</label>
                </labels>
                <fields>
                  <field>multiSelect</field>
                </fields>
              </widget>
              <widget name="ordering" type="selectOneListbox">
                <labels>
                  <label mode="any">Sort criterion</label>
                </labels>
                <fields>
                  <field>ordering</field>
                </fields>
                <selectOptions>
                  <option itemLabel="Label (default)" itemValue="label" />
                  <option itemLabel="Ordering" itemValue="ordering" />
                  <option itemLabel="Id" itemValue="id" />
                </selectOptions>
              </widget>
            </layout>
          </layouts>
        </properties>
      </configuration>
      <handler-class>
        org.nuxeo.ecm.platform.forms.layout.facelets.plugins.TemplateWidgetTypeHandler
      </handler-class>
      <property name="template">
        /widgets/select_l10n_vocabulary_tree_widget_template.xhtml
      </property>
    </widgetType>

    <widgetType name="contentViewWithForms">
      <configuration>
        <sinceVersion>5.6</sinceVersion>
        <title>Content view</title>
        <description>
          This widget displays a content view, with forms inside it.

          Note that usually layouts do not contain any forms, but are surrounded
          by one, and nesting forms breaks the available actions. So you should
          make sure there is no enclosing form around the layout, or around this
          widget, when using it.
        </description>
        <categories>
          <category>tab_designer</category>
        </categories>
        <containingForm>true</containingForm>
        <handlingLabels>true</handlingLabels>
        <supportedModes>
          <mode>view</mode>
        </supportedModes>
        <properties>
          <defaultValues mode="any">
            <property name="useAjaxPagination">true</property>
          </defaultValues>
          <layouts mode="any">
            <layout name="contentView_widget_type_properties_any">
              <rows>
                <row>
                  <widget>contentViewName</widget>
                </row>
                <row>
                  <widget>styleClass</widget>
                </row>
                <row>
                  <widget>useAjaxForm</widget>
                </row>
                <row>
                  <widget>useAjaxPagination</widget>
                </row>
                <row>
                  <widget>ajaxReRender</widget>
                </row>
                <row>
                  <widget>hideTopPaginationControls</widget>
                </row>
                <row>
                  <widget>defaultPageSize</widget>
                </row>
                <row>
                  <widget>showPageSizeSelector</widget>
                </row>
                <row>
                  <widget>showRefreshCommand</widget>
                </row>
                <row>
                  <widget>showFilterForm</widget>
                </row>
                <row>
                  <widget>showSyndicationLinks</widget>
                </row>
                <row>
                  <widget>showCSVExport</widget>
                </row>
                <row>
                  <widget>showPDFExport</widget>
                </row>
                <row>
                  <widget>foldable</widget>
                </row>
                <row>
                  <widget>foldedByDefault</widget>
                </row>
                <!-- not exposed in studio for now -->
                <row>
                  <widget>foldableBoxStyleClass</widget>
                </row>
                <row>
                  <widget>foldedIfEmpty</widget>
                </row>
                <row>
                  <widget>hideEmpty</widget>
                </row>
                <row>
                  <widget>contentViewIconPath</widget>
                </row>
                <!-- not sure this is a good idea: there are other forms in the template -->
                <!-- <row> <widget>removeForm</widget> </row> -->
              </rows>
              <widget name="contentViewName" type="selectOneResource">
                <labels>
                  <label mode="any">Content View name</label>
                </labels>
                <helpLabels>
                  <label mode="any">
                    The content view to display.
                  </label>
                </helpLabels>
                <fields>
                  <field>contentViewName</field>
                </fields>
                <properties mode="any">
                  <property name="resourceName">contentViews</property>
                  <property name="required">true</property>
                </properties>
              </widget>
              <widget name="styleClass" type="text">
                <labels>
                  <label mode="any">Style class</label>
                </labels>
                <helpLabels>
                  <label mode="any">
                    The given style class will be put in a "div"
                    element around the content view.
                  </label>
                </helpLabels>
                <fields>
                  <field>styleClass</field>
                </fields>
              </widget>
              <widget name="useAjaxForm" type="checkbox">
                <labels>
                  <label mode="any">Use ajax actions</label>
                </labels>
                <helpLabels>
                  <label mode="any">
                    If set to true, selection actions will be
                    performed using ajax. Note that sometimes, selection actions
                    will require you to reload the whole page for other elements
                    than the content view to be re-rendered, so using ajax will
                    not be user friendly in these cases. Defaults to false.
                  </label>
                </helpLabels>
                <fields>
                  <field>useAjaxForm</field>
                </fields>
              </widget>
              <widget name="useAjaxPagination" type="checkbox">
                <labels>
                  <label mode="any">Use ajax pagination</label>
                </labels>
                <helpLabels>
                  <label mode="any">
                    If set to true, pagination actions (first,
                    previous, next, last) actions will be performed using ajax.
                    Defaults to true since version 7.10.
                  </label>
                </helpLabels>
                <fields>
                  <field>useAjaxPagination</field>
                </fields>
              </widget>
              <widget name="ajaxReRender" type="text">
                <labels>
                  <label mode="any">Ajax reRender</label>
                </labels>
                <helpLabels>
                  <label mode="any">
                    The given ajax reRender ids will be added to
                    the zones to
                    reRender on some actions (page navigation,
                    result layout
                    selection, selection actions...). Available
                    since 5.7.
                  </label>
                </helpLabels>
                <fields>
                  <field>ajaxReRender</field>
                </fields>
              </widget>
              <widget name="hideTopPaginationControls" type="checkbox">
                <labels>
                  <label mode="any">Show only bottom pagination controls</label>
                </labels>
                <helpLabels>
                  <label mode="any">
                    If set to true, pagination actions (first,
                    previous, next, last) actions will only be displayed below
                    the results. Defaults to false.
                  </label>
                </helpLabels>
                <fields>
                  <field>hideTopPaginationControls</field>
                </fields>
              </widget>
              <widget name="defaultPageSize" type="int">
                <labels>
                  <label mode="any">Default page size</label>
                </labels>
                <helpLabels>
                  <label mode="any">
                    The default page size to use instead of the
                    value set on the content view definition.
                  </label>
                </helpLabels>
                <fields>
                  <field>defaultPageSize</field>
                </fields>
              </widget>
              <widget name="showPageSizeSelector" type="selectOneListbox">
                <labels>
                  <label mode="any">Show page size selector</label>
                </labels>
                <helpLabels>
                  <label mode="any">
                    Boolean to show or hide the page size
                    selector, overriding the value set on the content view
                    definition.
                  </label>
                </helpLabels>
                <fields>
                  <field>showPageSizeSelector</field>
                </fields>
                <selectOptions>
                  <option itemLabel="(Default value from content view configuration)"
                    itemValue="" />
                  <option itemLabel="No" itemValue="false" />
                  <option itemLabel="Yes" itemValue="true" />
                </selectOptions>
              </widget>
              <widget name="showRefreshCommand" type="selectOneListbox">
                <labels>
                  <label mode="any">Show refresh command</label>
                </labels>
                <helpLabels>
                  <label mode="any">
                    Boolean to show or hide the refresh command,
                    overriding the value set on the content view
                    definition.
                  </label>
                </helpLabels>
                <fields>
                  <field>showRefreshCommand</field>
                </fields>
                <selectOptions>
                  <option itemLabel="(Default value from content view configuration)"
                    itemValue="" />
                  <option itemLabel="No" itemValue="false" />
                  <option itemLabel="Yes" itemValue="true" />
                </selectOptions>
              </widget>
              <widget name="showFilterForm" type="selectOneListbox">
                <labels>
                  <label mode="any">Show filter form</label>
                </labels>
                <helpLabels>
                  <label mode="any">
                    Boolean to show or hide the filter form,
                    overriding the value set on the content view
                    definition.
                  </label>
                </helpLabels>
                <fields>
                  <field>showFilterForm</field>
                </fields>
                <selectOptions>
                  <option itemLabel="(Default value from content view configuration)"
                    itemValue="" />
                  <option itemLabel="No" itemValue="false" />
                  <option itemLabel="Yes" itemValue="true" />
                </selectOptions>
              </widget>
              <widget name="showSyndicationLinks" type="selectOneListbox">
                <labels>
                  <label mode="any">Show syndication links</label>
                </labels>
                <helpLabels>
                  <label mode="any">
                    Boolean to show or hide syndication links,
                    overriding the value set on the content view
                    definition.
                  </label>
                </helpLabels>
                <fields>
                  <field>showSyndicationLinks</field>
                </fields>
                <selectOptions>
                  <option itemLabel="(Default value from content view configuration)"
                    itemValue="" />
                  <option itemLabel="No" itemValue="false" />
                  <option itemLabel="Yes" itemValue="true" />
                </selectOptions>
              </widget>
              <widget name="showCSVExport" type="selectOneListbox">
                <labels>
                  <label mode="any">Show CSV export</label>
                </labels>
                <helpLabels>
                  <label mode="any">
                    Boolean to show or hide the CSV export link,
                    overriding the value set on the content view definition for
                    every result layouts. Warning: the content view result
                    layouts should be configured to handle a CSV export.
                  </label>
                </helpLabels>
                <fields>
                  <field>showCSVExport</field>
                </fields>
                <selectOptions>
                  <option itemLabel="(Default value from content view configuration)"
                    itemValue="" />
                  <option itemLabel="No" itemValue="false" />
                  <option itemLabel="Yes" itemValue="true" />
                </selectOptions>
              </widget>
              <widget name="showPDFExport" type="selectOneListbox">
                <labels>
                  <label mode="any">Show PDF export</label>
                </labels>
                <helpLabels>
                  <label mode="any">
                    Boolean to show or hide the PDF export link,
                    overriding the value set on the content view definition for
                    every result layouts. Warning: the content view result
                    layouts should be configured to handle a CSV export.
                  </label>
                </helpLabels>
                <fields>
                  <field>showPDFExport</field>
                </fields>
                <selectOptions>
                  <option itemLabel="(Default value from content view configuration)"
                    itemValue="" />
                  <option itemLabel="No" itemValue="false" />
                  <option itemLabel="Yes" itemValue="true" />
                </selectOptions>
              </widget>
              <widget name="foldable" type="checkbox">
                <labels>
                  <label mode="any">Foldable</label>
                </labels>
                <helpLabels>
                  <label mode="any">
                    If set to true, the content view will be
                    displayed in a box that can be folded/unfolded in
                    javascript. Ignored if the widget is not marked as handling
                    labels as the header will not be displayed in this case. If
                    the widget label is empty, the content view title will be
                    used. If this title is also empty, a default label will be
                    shown. Defaults to false.
                  </label>
                </helpLabels>
                <fields>
                  <field>foldable</field>
                </fields>
                <widgetModes>
                  <mode value="view_reference">view</mode>
                </widgetModes>
              </widget>
              <widget name="foldedByDefault" type="checkbox">
                <labels>
                  <label mode="any">Folded by default</label>
                </labels>
                <helpLabels>
                  <label mode="any">
                    Defaults to false.
                  </label>
                </helpLabels>
                <fields>
                  <field>foldedByDefault</field>
                </fields>
                <widgetModes>
                  <mode value="view_reference">view</mode>
                </widgetModes>
              </widget>
              <!-- not exposed in studio for now -->
              <widget name="foldableBoxStyleClass" type="text">
                <labels>
                  <label mode="any">Foldable Box Style class</label>
                </labels>
                <helpLabels>
                  <label mode="any">
                    The given style class will be used on the
                    foldable box.
                  </label>
                </helpLabels>
                <fields>
                  <field>foldableBoxStyleClass</field>
                </fields>
                <widgetModes>
                  <mode value="any">hidden</mode>
                  <mode value="view_reference">view</mode>
                </widgetModes>
              </widget>
              <widget name="foldedIfEmpty" type="checkbox">
                <labels>
                  <label mode="any">Folded if empty</label>
                </labels>
                <helpLabels>
                  <label mode="any">
                    Defaults to false.
                  </label>
                </helpLabels>
                <fields>
                  <field>foldedIfEmpty</field>
                </fields>
                <widgetModes>
                  <mode value="any">hidden</mode>
                  <mode value="view_reference">view</mode>
                </widgetModes>
              </widget>
              <widget name="hideEmpty" type="checkbox">
                <labels>
                  <label mode="any">Hide if empty</label>
                </labels>
                <helpLabels>
                  <label mode="any">
                    Boolean to hide the complete rendering when
                    content view is empty
                  </label>
                </helpLabels>
                <fields>
                  <field>hideEmpty</field>
                </fields>
                <widgetModes>
                  <mode value="any">hidden</mode>
                  <mode value="view_reference">view</mode>
                </widgetModes>
              </widget>
              <widget name="contentViewIconPath" type="text">
                <labels>
                  <label mode="any">Content icon path</label>
                </labels>
                <helpLabels>
                  <label mode="any">
                    The icon to display instead of the value set
                    on the content view definition.
                  </label>
                </helpLabels>
                <fields>
                  <field>contentViewIconPath</field>
                </fields>
                <widgetModes>
                  <mode value="any">hidden</mode>
                  <mode value="view_reference">view</mode>
                </widgetModes>
              </widget>
              <widget name="removeForm" type="checkbox">
                <labels>
                  <label mode="any">Remove form on content listing</label>
                </labels>
                <helpLabels>
                  <label mode="any">
                    Defaults to false.
                  </label>
                </helpLabels>
                <fields>
                  <field>removeForm</field>
                </fields>
                <widgetModes>
                  <mode value="any">hidden</mode>
                  <mode value="view_reference">view</mode>
                </widgetModes>
              </widget>
            </layout>
          </layouts>
        </properties>
      </configuration>
      <handler-class>
        org.nuxeo.ecm.platform.forms.layout.facelets.plugins.TemplateWidgetTypeHandler
      </handler-class>
      <property name="template">
        /widgets/content_view_with_forms_widget.xhtml
      </property>
    </widgetType>

    <widgetType name="contentViewSearchLayout">
      <configuration>
        <sinceVersion>5.7.2</sinceVersion>
        <title>Content view search layout</title>
        <description>
          This widget displays the search layout of a content view.
        </description>
        <categories>
          <category>configuration_not_ready</category>
        </categories>
        <properties>
          <layouts mode="any">
            <layout name="contentView_widget_type_properties_any">
              <rows>
                <row>
                  <widget>contentViewName</widget>
                </row>
                <row>
                  <widget>styleClass</widget>
                </row>
              </rows>
              <widget name="contentViewName" type="selectOneResource">
                <labels>
                  <label mode="any">Content View name</label>
                </labels>
                <helpLabels>
                  <label mode="any">
                    Displays the search layout of this content
                    view.
                  </label>
                </helpLabels>
                <fields>
                  <field>contentViewName</field>
                </fields>
                <properties mode="any">
                  <property name="resourceName">contentViews</property>
                  <property name="required">true</property>
                </properties>
              </widget>
              <widget name="styleClass" type="text">
                <labels>
                  <label mode="any">Style class</label>
                </labels>
                <helpLabels>
                  <label mode="any">
                    The given style class will be put in a "div"
                    element around the search layout.
                  </label>
                </helpLabels>
                <fields>
                  <field>styleClass</field>
                </fields>
              </widget>
            </layout>
          </layouts>
        </properties>
      </configuration>
      <handler-class>
        org.nuxeo.ecm.platform.forms.layout.facelets.plugins.TemplateWidgetTypeHandler
      </handler-class>
      <property name="template">
        /widgets/content_view_search_layout_widget.xhtml
      </property>
    </widgetType>

    <widgetType name="saveBox">
      <configuration>
        <sinceVersion>5.7</sinceVersion>
        <title>Save box</title>
        <description>
          <p>This widget displays a save box with one input for the title and
            one button to save.
          </p>

          <p>The input is mapped to the field of the widget.</p>

          <p>It needs the action id as property "actionId" for
            the "save" button.
          </p>
        </description>
        <categories>
          <category>configuration_not_ready</category>
          <!--
            <category>tab_designer</category>
          -->
        </categories>
        <handlingLabels>true</handlingLabels>
        <supportedModes>
          <mode>view</mode>
          <mode>edit</mode>
        </supportedModes>
      </configuration>
      <handler-class>
        org.nuxeo.ecm.platform.forms.layout.facelets.plugins.TemplateWidgetTypeHandler
      </handler-class>
      <property name="template">
        /widgets/save_box_widget.xhtml
      </property>
    </widgetType>

    <widgetType name="toggleableLayoutWithForms">
      <configuration>
        <sinceVersion>5.6</sinceVersion>
        <title>Toggleable form</title>
        <description>
          This widget displays a form layout which mode can be
          toggled, with forms inside it.

          Note that usually layouts do not contain
          any forms, but are surrounded by one, and nesting forms breaks the
          available actions. So you should make sure there is no enclosing form
          around the layout, or around this widget, when using it.
        </description>
        <categories>
          <category>tab_designer</category>
        </categories>
        <fields>
          <defaultConfiguration>
            <field></field>
          </defaultConfiguration>
        </fields>
        <containingForm>true</containingForm>
        <handlingLabels>true</handlingLabels>
        <supportedModes>
          <mode>view</mode>
          <mode>edit</mode>
        </supportedModes>
        <properties>
          <layouts mode="any">
            <layout name="toggleableLayoutViewWithForms_widget_type_properties_any">
              <rows>
                <row>
                  <widget>initialLayoutName</widget>
                </row>
                <row>
                  <widget>initialLayoutNameDemoPreview</widget>
                </row>
                <row>
                  <widget>toggledLayoutName</widget>
                </row>
                <row>
                  <widget>toggledLayoutNameDemoPreview</widget>
                </row>
                <row>
                  <widget>styleClass</widget>
                </row>
                <row>
                  <widget>canToggleMode</widget>
                </row>
                <row>
                  <widget>hideDefaultActions</widget>
                </row>
                <row>
                  <widget>additionalActionsCategory</widget>
                </row>
                <row>
                  <widget>additionalActionsCategoryDemo</widget>
                </row>
                <row>
                  <widget category="widgetTypeConf">formActionsDisplay</widget>
                </row>
                <row>
                  <widget category="widgetTypeConf">widgetsDisplay</widget>
                </row>
                <row>
                  <widget>showEditOptions</widget>
                </row>
                <row>
                  <widget>useAjaxForm</widget>
                </row>
                <row>
                  <widget>foldable</widget>
                </row>
                <row>
                  <widget>foldedByDefault</widget>
                </row>
                <row>
                  <widget>displayToggleActionInHeader</widget>
                </row>
                <row>
                  <widget>initialActionLabel</widget>
                </row>
                <row>
                  <widget>cancelActionLabel</widget>
                </row>
                <row>
                  <widget>template</widget>
                </row>
              </rows>
              <widget name="initialLayoutName" type="selectOneResource">
                <labels>
                  <label mode="any">Layout(s)</label>
                </labels>
                <helpLabels>
                  <label mode="any">
                    The layout to display before toggling the
                    mode. Also accepts a list of multiple layout names,
                    separated by commas.
                  </label>
                </helpLabels>
                <fields>
                  <field>initialLayoutName</field>
                </fields>
                <widgetModes>
                  <mode value="edit_demo_preview">hidden</mode>
                </widgetModes>
                <properties mode="any">
                  <property name="resourceName">layouts</property>
                  <property name="required">true</property>
                </properties>
              </widget>
              <widget name="initialLayoutNameDemoPreview" type="text">
                <labels>
                  <label mode="any">Layout(s)</label>
                </labels>
                <helpLabels>
                  <label mode="any">
                    The layout to display before toggling the
                    mode. Also accepts a list of multiple layout names,
                    separated by commas.
                  </label>
                </helpLabels>
                <fields>
                  <field>initialLayoutName</field>
                </fields>
                <widgetModes>
                  <mode value="any">hidden</mode>
                  <mode value="edit_demo_preview">view</mode>
                </widgetModes>
                <properties mode="any">
                  <property name="required">true</property>
                </properties>
              </widget>
              <widget name="toggledLayoutName" type="selectOneResource">
                <labels>
                  <label mode="any">Toggled layout(s)</label>
                </labels>
                <helpLabels>
                  <label mode="any">
                    The layout to display after toggling the
                    mode. Also accepts a list of multiple layout names,
                    separated by commas. If not filled, defaults to the initial
                    layout name(s).
                  </label>
                </helpLabels>
                <fields>
                  <field>toggledLayoutName</field>
                </fields>
                <widgetModes>
                  <mode value="edit_demo_preview">hidden</mode>
                </widgetModes>
                <properties mode="any">
                  <property name="resourceName">layouts</property>
                </properties>
              </widget>
              <widget name="toggledLayoutNameDemoPreview" type="text">
                <labels>
                  <label mode="any">Toggled layout(s)</label>
                </labels>
                <helpLabels>
                  <label mode="any">
                    The layout to display after toggling the
                    mode. Also accepts a list of multiple layout names,
                    separated by commas. If not filled, defaults to the initial
                    layout name(s).
                  </label>
                </helpLabels>
                <fields>
                  <field>toggledLayoutName</field>
                </fields>
                <widgetModes>
                  <mode value="any">hidden</mode>
                  <mode value="edit_demo_preview">view</mode>
                </widgetModes>
              </widget>
              <widget name="template" type="selectOneResource">
                <labels>
                  <label mode="any">Template</label>
                </labels>
                <helpLabels>
                  <label mode="any">
                    The layout template to use instead of the
                    one already set
                    on the layout(s) definition(s).
                  </label>
                </helpLabels>
                <fields>
                  <field>template</field>
                </fields>
                <widgetModes>
                  <mode value="edit_demo_preview">hidden</mode>
                </widgetModes>
                <properties mode="any">
                  <property name="resourceName">layout_templates</property>
                </properties>
              </widget>
              <widget name="styleClass" type="text">
                <labels>
                  <label mode="any">Style class</label>
                </labels>
                <helpLabels>
                  <label mode="any">
                    The given style class will be put in a "div"
                    element around the layout.
                  </label>
                </helpLabels>
                <fields>
                  <field>styleClass</field>
                </fields>
              </widget>
              <widget name="canToggleMode" type="text">
                <labels>
                  <label mode="any">Can toggle mode</label>
                </labels>
                <helpLabels>
                  <label mode="any">
                    The boolean property to resolve when
                    deciding whether the toggle button should be displayed or
                    not. Defaults to an EL expression checking permission
                    'Write' on the document. Examples: false,
                    #{webActions.checkFilter('canToggleLayoutToEditMode') and
                    currentUser.isMemberOf('togglers_groups')}.
                    Default
                    expression used (includes check for permission 'Write',
                    check if document is in the trash, and check if document is
                    mutable -- not a proxy nor a version):
                    #{webActions.checkFilter('canToggleLayoutToEditMode')}
                  </label>
                </helpLabels>
                <fields>
                  <field>canToggleMode</field>
                </fields>
              </widget>
              <widget name="hideDefaultActions" type="checkbox">
                <labels>
                  <label mode="any">Hide default actions</label>
                </labels>
                <helpLabels>
                  <label mode="any">
                    If set to true, actions from the default
                    category 'EDIT_DOCUMENT_FORM' will not be displayed on the
                    layout in toggled mode. Defaults to false.
                  </label>
                </helpLabels>
                <fields>
                  <field>hideDefaultActions</field>
                </fields>
              </widget>
              <widget name="additionalActionsCategory" type="text">
                <labels>
                  <label mode="any">Additional actions category</label>
                </labels>
                <helpLabels>
                  <label mode="any">
                    The additional actions category to use when
                    displaying the layout in toggled mode.
                  </label>
                </helpLabels>
                <fields>
                  <field>additionalActionsCategory</field>
                </fields>
                <widgetModes>
                  <mode value="edit_demo_preview">hidden</mode>
                </widgetModes>
              </widget>
              <widget name="additionalActionsCategoryDemo" type="text">
                <labels>
                  <label mode="any">Additional actions category</label>
                </labels>
                <helpLabels>
                  <label mode="any">
                    The additional actions category to use when
                    displaying the layout in toggled mode.
                  </label>
                </helpLabels>
                <fields>
                  <field>additionalActionsCategory</field>
                </fields>
                <widgetModes>
                  <mode value="any">hidden</mode>
                  <mode value="edit_demo_preview">view</mode>
                </widgetModes>
              </widget>
              <widget name="showEditOptions" type="checkbox">
                <labels>
                  <label mode="any">Show edit options</label>
                </labels>
                <helpLabels>
                  <label mode="any">
                    If set to true, additional edit options
                    (like a textarea for comment to be visible in the document
                    history) will be visible after the layout in toggled (edit)
                    mode. Only visible if value bound to the layout is a
                    document model. Defaults to false.
                  </label>
                </helpLabels>
                <fields>
                  <field>showEditOptions</field>
                </fields>
              </widget>
              <widget name="displayToggleActionInHeader" type="checkbox">
                <labels>
                  <label mode="any">Display toggle action in header</label>
                </labels>
                <helpLabels>
                  <label mode="any">
                    If set to true (and widget has a header,
                    because it handles its label), actions will be displayed in
                    the header. This includes the "toggle" action, as well as
                    "save" actions. Only the "toggle" action is hidden from the
                    rendering when it is displayed on top. "Save" actions are
                    shown twice. Available since 5.7, defaults to false.
                  </label>
                </helpLabels>
                <fields>
                  <field>displayToggleActionInHeader</field>
                </fields>
              </widget>
              <widget name="useAjaxForm" type="checkbox">
                <labels>
                  <label mode="any">Use ajax actions</label>
                </labels>
                <helpLabels>
                  <label mode="any">
                    If set to true, actions will be performed
                    using ajax. Note that sometimes, actions will require you to
                    reload the whole page for other elements than the current
                    zone to be re-rendered, so using ajax will not be user
                    friendly in these cases. Defaults to false.
                  </label>
                </helpLabels>
                <fields>
                  <field>useAjaxForm</field>
                </fields>
              </widget>
              <widget name="initialActionLabel" type="text">
                <labels>
                  <label mode="any">Initial action label</label>
                </labels>
                <helpLabels>
                  <label mode="any">
                    The initial action label to display.
                    Defaults to 'action.view.modification' (Edit), is translated
                    when the widget is translated.
                  </label>
                </helpLabels>
                <fields>
                  <field>initialActionLabel</field>
                </fields>
              </widget>
              <widget name="cancelActionLabel" type="text">
                <labels>
                  <label mode="any">Cancel action label</label>
                </labels>
                <helpLabels>
                  <label mode="any">
                    The toggled action label to display.
                    Defaults to 'command.cancel' (Cancel), is translated when
                    the widget is translated.
                  </label>
                </helpLabels>
                <fields>
                  <field>cancelActionLabel</field>
                </fields>
              </widget>
              <widget name="foldable" type="checkbox">
                <labels>
                  <label mode="any">Foldable</label>
                </labels>
                <helpLabels>
                  <label mode="any">
                    If set to true, the layout will be
                    displayed
                    in a box that can be folded/unfolded in
                    javascript. Ignored
                    if the widget is not marked as handling
                    labels as the header
                    will not be displayed in this case. If
                    the widget label is
                    empty, a default label will be
                    shown. Available since 5.7,
                    defaults to false.
                  </label>
                </helpLabels>
                <fields>
                  <field>foldable</field>
                </fields>
                <widgetModes>
                  <mode value="view_reference">view</mode>
                </widgetModes>
              </widget>
              <widget name="foldedByDefault" type="checkbox">
                <labels>
                  <label mode="any">Folded by default</label>
                </labels>
                <helpLabels>
                  <label mode="any">
                    Available since 5.7, defaults to false.
                  </label>
                </helpLabels>
                <fields>
                  <field>foldedByDefault</field>
                </fields>
                <widgetModes>
                  <mode value="view_reference">view</mode>
                </widgetModes>
              </widget>
            </layout>
          </layouts>
        </properties>
      </configuration>
      <handler-class>
        org.nuxeo.ecm.platform.forms.layout.facelets.plugins.TemplateWidgetTypeHandler
      </handler-class>
      <property name="template">
        /widgets/toggleable_layout_with_forms_widget.xhtml
      </property>
    </widgetType>

    <widgetType name="toggleableDocumentLayoutWithForms">
      <configuration>
        <sinceVersion>5.7.2</sinceVersion>
        <title>Toggleable Document Form</title>
        <description>
          This widget displays the document layouts of a document
          which mode
          can be toggled, with forms inside it.

          Note that usually
          layouts do not contain
          any forms, but are surrounded by one, and
          nesting forms breaks the
          available actions. So you should make sure
          there is no enclosing form
          around the layout, or around this widget,
          when using it.
        </description>
        <categories>
          <category>tab_designer</category>
        </categories>
        <fields>
          <defaultConfiguration>
            <field></field>
          </defaultConfiguration>
        </fields>
        <containingForm>true</containingForm>
        <handlingLabels>true</handlingLabels>
        <supportedModes>
          <mode>view</mode>
          <mode>edit</mode>
        </supportedModes>
        <properties>
          <layouts mode="any">
            <layout name="toggleableLayoutViewWithForms_widget_type_properties_any">
              <rows>
                <row>
                  <widget>initialDocumentMode</widget>
                </row>
                <row>
                  <widget>toggledDocumentMode</widget>
                </row>
                <row>
                  <widget>styleClass</widget>
                </row>
                <row>
                  <widget>canToggleMode</widget>
                </row>
                <row>
                  <widget>hideDefaultActions</widget>
                </row>
                <row>
                  <widget>additionalActionsCategory</widget>
                </row>
                <row>
                  <widget>additionalActionsCategoryDemo</widget>
                </row>
                <row>
                  <widget category="widgetTypeConf">formActionsDisplay</widget>
                </row>
                <row>
                  <widget category="widgetTypeConf">widgetsDisplay</widget>
                </row>
                <row>
                  <widget>showEditOptions</widget>
                </row>
                <row>
                  <widget>useAjaxForm</widget>
                </row>
                <row>
                  <widget>foldable</widget>
                </row>
                <row>
                  <widget>foldedByDefault</widget>
                </row>
                <row>
                  <widget>displayToggleActionInHeader</widget>
                </row>
                <row>
                  <widget>initialActionLabel</widget>
                </row>
                <row>
                  <widget>cancelActionLabel</widget>
                </row>
                <row>
                  <widget>defaultLayout</widget>
                </row>
                <row>
                  <widget>template</widget>
                </row>
              </rows>
              <widget name="initialDocumentMode" type="text">
                <labels>
                  <label mode="any">Initial document mode</label>
                </labels>
                <helpLabels>
                  <label mode="any">
                    The initial document mode to use.
                  </label>
                </helpLabels>
                <fields>
                  <field>initialDocumentMode</field>
                </fields>
              </widget>
              <widget name="toggledDocumentMode" type="text">
                <labels>
                  <label mode="any">Toggled document mode</label>
                </labels>
                <helpLabels>
                  <label mode="any">
                    The toggled document mode to use.
                  </label>
                </helpLabels>
                <fields>
                  <field>toggledDocumentMode</field>
                </fields>
              </widget>
              <widget name="defaultLayout" type="selectOneResource">
                <labels>
                  <label mode="any">Default layout</label>
                </labels>
                <helpLabels>
                  <label mode="any">
                    The default layout to use if no layout are defined
                    for the given document mode.
                  </label>
                </helpLabels>
                <fields>
                  <field>defaultLayout</field>
                </fields>
                <properties mode="any">
                  <property name="resourceName">layouts</property>
                </properties>
              </widget>
              <widget name="template" type="selectOneResource">
                <labels>
                  <label mode="any">Template</label>
                </labels>
                <helpLabels>
                  <label mode="any">
                    The layout template to use instead of the
                    one already set
                    on the layout(s) definition(s).
                  </label>
                </helpLabels>
                <fields>
                  <field>template</field>
                </fields>
                <properties mode="any">
                  <property name="resourceName">layout_templates</property>
                </properties>
              </widget>
              <widget name="styleClass" type="text">
                <labels>
                  <label mode="any">Style class</label>
                </labels>
                <helpLabels>
                  <label mode="any">
                    The given style class will be put in a "div"
                    element around the layout.
                  </label>
                </helpLabels>
                <fields>
                  <field>styleClass</field>
                </fields>
              </widget>
              <widget name="canToggleMode" type="text">
                <labels>
                  <label mode="any">Can toggle mode</label>
                </labels>
                <helpLabels>
                  <label mode="any">
                    The boolean property to resolve when
                    deciding whether the toggle button should be displayed or
                    not. Defaults to an EL expression checking permission
                    'Write' on the document. Examples: false,
                    #{nxd:hasPermission(value, 'Write') and
                    currentUser.isMemberOf('togglers_groups')}.
                    Default
                    expression used:
                    #{webActions.checkFilter('canToggleLayoutToEditMode')}
                  </label>
                </helpLabels>
                <fields>
                  <field>canToggleMode</field>
                </fields>
              </widget>
              <widget name="hideDefaultActions" type="checkbox">
                <labels>
                  <label mode="any">Hide default actions</label>
                </labels>
                <helpLabels>
                  <label mode="any">
                    If set to true, actions from the default
                    category 'EDIT_DOCUMENT_FORM' will not be displayed on the
                    layout in toggled mode. Defaults to false.
                  </label>
                </helpLabels>
                <fields>
                  <field>hideDefaultActions</field>
                </fields>
              </widget>
              <widget name="additionalActionsCategory" type="text">
                <labels>
                  <label mode="any">Additional actions category</label>
                </labels>
                <helpLabels>
                  <label mode="any">
                    The additional actions category to use when
                    displaying the layout in toggled mode.
                  </label>
                </helpLabels>
                <fields>
                  <field>additionalActionsCategory</field>
                </fields>
                <widgetModes>
                  <mode value="edit_demo_preview">hidden</mode>
                </widgetModes>
              </widget>
              <widget name="additionalActionsCategoryDemo" type="text">
                <labels>
                  <label mode="any">Additional actions category</label>
                </labels>
                <helpLabels>
                  <label mode="any">
                    The additional actions category to use when
                    displaying the layout in toggled mode.
                  </label>
                </helpLabels>
                <fields>
                  <field>additionalActionsCategory</field>
                </fields>
                <widgetModes>
                  <mode value="any">hidden</mode>
                  <mode value="edit_demo_preview">view</mode>
                </widgetModes>
              </widget>
              <widget name="showEditOptions" type="checkbox">
                <labels>
                  <label mode="any">Show edit options</label>
                </labels>
                <helpLabels>
                  <label mode="any">
                    If set to true, additional edit options
                    (like a textarea for comment to be visible in the document
                    history) will be visible after the layout in toggled (edit)
                    mode. Only visible if value bound to the layout is a
                    document model. Defaults to false.
                  </label>
                </helpLabels>
                <fields>
                  <field>showEditOptions</field>
                </fields>
              </widget>
              <widget name="displayToggleActionInHeader" type="checkbox">
                <labels>
                  <label mode="any">Display toggle action in header</label>
                </labels>
                <helpLabels>
                  <label mode="any">
                    If set to true (and widget has a header,
                    because it handles its label), actions will be displayed in
                    the header. This includes the "toggle" action, as well as
                    "save" actions. Only the "toggle" action is hidden from the
                    rendering when it is displayed on top. "Save" actions are
                    shown twice. Available since 5.7, defaults to false.
                  </label>
                </helpLabels>
                <fields>
                  <field>displayToggleActionInHeader</field>
                </fields>
              </widget>
              <widget name="useAjaxForm" type="checkbox">
                <labels>
                  <label mode="any">Use ajax actions</label>
                </labels>
                <helpLabels>
                  <label mode="any">
                    If set to true, actions will be performed
                    using ajax. Note that sometimes, actions will require you to
                    reload the whole page for other elements than the current
                    zone to be re-rendered, so using ajax will not be user
                    friendly in these cases. Defaults to false.
                  </label>
                </helpLabels>
                <fields>
                  <field>useAjaxForm</field>
                </fields>
              </widget>
              <widget name="initialActionLabel" type="text">
                <labels>
                  <label mode="any">Initial action label</label>
                </labels>
                <helpLabels>
                  <label mode="any">
                    The initial action label to display.
                    Defaults to 'action.view.modification' (Edit), is translated
                    when the widget is translated.
                  </label>
                </helpLabels>
                <fields>
                  <field>initialActionLabel</field>
                </fields>
              </widget>
              <widget name="cancelActionLabel" type="text">
                <labels>
                  <label mode="any">Cancel action label</label>
                </labels>
                <helpLabels>
                  <label mode="any">
                    The toggled action label to display.
                    Defaults to 'command.cancel' (Cancel), is translated when
                    the widget is translated.
                  </label>
                </helpLabels>
                <fields>
                  <field>cancelActionLabel</field>
                </fields>
              </widget>
              <widget name="foldable" type="checkbox">
                <labels>
                  <label mode="any">Foldable</label>
                </labels>
                <helpLabels>
                  <label mode="any">
                    If set to true, the content view will be
                    displayed in a box that can be folded if users would like to
                    hide this content view content. Note that this state is not
                    persisted. Available since 5.7, defaults to false.
                  </label>
                </helpLabels>
                <fields>
                  <field>foldable</field>
                </fields>
                <widgetModes>
                  <mode value="view_reference">view</mode>
                </widgetModes>
              </widget>
              <widget name="foldedByDefault" type="checkbox">
                <labels>
                  <label mode="any">Folded by default</label>
                </labels>
                <helpLabels>
                  <label mode="any">
                    Available since 5.7, defaults to false.
                  </label>
                </helpLabels>
                <fields>
                  <field>foldedByDefault</field>
                </fields>
                <widgetModes>
                  <mode value="view_reference">view</mode>
                </widgetModes>
              </widget>
            </layout>
          </layouts>
        </properties>
      </configuration>
      <handler-class>
        org.nuxeo.ecm.platform.forms.layout.facelets.plugins.TemplateWidgetTypeHandler
      </handler-class>
      <property name="template">
        /widgets/toggleable_document_layout_with_forms_widget.xhtml
      </property>
    </widgetType>

    <widgetType name="documentLayout">
      <configuration>
        <sinceVersion>6.0</sinceVersion>
        <title>Document Layouts</title>
        <description>
          This widget displays the document layouts of a document
          for the given mode.
        </description>
        <categories>
          <category>tab_designer</category>
        </categories>
        <fields>
          <defaultConfiguration>
            <field></field>
          </defaultConfiguration>
        </fields>
        <containingForm>false</containingForm>
        <handlingLabels>true</handlingLabels>
        <supportedModes>
          <mode>view</mode>
          <mode>edit</mode>
        </supportedModes>
        <properties>
          <layouts mode="any">
            <layout name="documentLayoutView_widget_type_properties_any">
              <rows>
                <row>
                  <widget>mode</widget>
                </row>
                <row>
                  <widget>documentMode</widget>
                </row>
                <row>
                  <widget>template</widget>
                </row>
                <row>
                  <widget>defaultLayout</widget>
                </row>
                <row>
                  <widget>canToggleMode</widget>
                </row>
              </rows>
              <widget name="mode" type="text">
                <labels>
                  <label mode="any">Mode</label>
                </labels>
                <helpLabels>
                  <label mode="any">
                    The layout mode to use.
                  </label>
                </helpLabels>
                <fields>
                  <field>mode</field>
                </fields>
              </widget>
              <widget name="documentMode" type="text">
                <labels>
                  <label mode="any">Document mode</label>
                </labels>
                <helpLabels>
                  <label mode="any">
                    The document mode to use.
                  </label>
                </helpLabels>
                <fields>
                  <field>documentMode</field>
                </fields>
              </widget>
              <widget name="template" type="selectOneResource">
                <labels>
                  <label mode="any">Template</label>
                </labels>
                <helpLabels>
                  <label mode="any">
                    The layout template to use instead of the
                    one already set
                    on the layout(s) definition(s).
                  </label>
                </helpLabels>
                <fields>
                  <field>template</field>
                </fields>
                <properties mode="any">
                  <property name="resourceName">layout_templates</property>
                </properties>
              </widget>
              <widget name="defaultLayout" type="selectOneResource">
                <labels>
                  <label mode="any">Default layout</label>
                </labels>
                <helpLabels>
                  <label mode="any">
                    The default layout to use if no layout are defined
                    for the given document mode.
                  </label>
                </helpLabels>
                <fields>
                  <field>defaultLayout</field>
                </fields>
                <properties mode="any">
                  <property name="resourceName">layouts</property>
                  <property name="required">true</property>
                </properties>
              </widget>
              <widget name="canToggleMode" type="text">
                <labels>
                  <label mode="any">Can toggle mode</label>
                </labels>
                <helpLabels>
                  <label mode="any">
                    The boolean property to resolve when
                    deciding whether the toggle button should be displayed or
                    not. Defaults to an EL expression checking permission
                    'Write' on the document. Examples: false,
                    #{nxd:hasPermission(value, 'Write') and
                    currentUser.isMemberOf('togglers_groups')}.
                    Default
                    expression used:
                    #{webActions.checkFilter('canToggleLayoutToEditMode')}
                  </label>
                </helpLabels>
                <fields>
                  <field>canToggleMode</field>
                </fields>
              </widget>
            </layout>
          </layouts>
        </properties>
      </configuration>
      <handler-class>
        org.nuxeo.ecm.platform.forms.layout.facelets.plugins.TemplateWidgetTypeHandler
      </handler-class>
      <property name="template">
        /widgets/document_layout_widget.xhtml
      </property>
    </widgetType>

    <widgetType name="documentActions">
      <configuration>
        <sinceVersion>5.7</sinceVersion>
        <title>Form actions</title>
        <description>
          <p>This widget displays actions filtered on the document given as
            field mapping.
          </p>
          <p>
            It will display actions in the category given in the 'category'
            property. The widget label and help label will be displayed above
            the actions.
          </p>
          <p>
            This widget requires to be surrounded by a form, so if it displays
            fancybox actions for instance, their popup content cannot contain
            another form.
          </p>
        </description>
        <categories>
          <category>tab_designer</category>
        </categories>
        <fields>
          <defaultConfiguration>
            <field></field>
          </defaultConfiguration>
        </fields>
        <containingForm>false</containingForm>
        <supportedModes>
          <mode>view</mode>
        </supportedModes>
        <properties>
          <defaultValues mode="any">
            <property name="trackCurrentAction">true</property>
          </defaultValues>
          <layouts mode="any">
            <layout name="documentActions_widget_type_properties_any">
              <rows>
                <row>
                  <widget category="widgetTypeConf">actions_category</widget>
                </row>
                <row>
                  <widget category="widgetTypeConf">actionsDisplay</widget>
                </row>
                <row>
                  <widget category="widgetTypeConf">actions_overallDisplay</widget>
                </row>
                <row>
                  <widget category="widgetTypeConf">actions_maxActionsNumber</widget>
                </row>
                <row>
                  <widget category="widgetTypeConf">actions_styleClass</widget>
                </row>
                <row>
                  <widget category="widgetTypeConf">actions_moreMenuLabel</widget>
                </row>
                <row>
                  <widget category="widgetTypeConf">actions_useAjaxForm</widget>
                </row>
                <row>
                  <widget category="widgetTypeConf">ajaxReRender</widget>
                </row>
                <row>
                  <widget category="widgetTypeConf">actions_disableFiltered</widget>
                </row>
              </rows>
            </layout>
          </layouts>
        </properties>
      </configuration>
      <handler-class>
        org.nuxeo.ecm.platform.forms.layout.facelets.plugins.TemplateWidgetTypeHandler
      </handler-class>
      <property name="template">
        /widgets/actions/document_actions_widget_template.xhtml
      </property>
    </widgetType>

    <widgetType name="currentDocumentActions">
      <configuration>
        <sinceVersion>5.7</sinceVersion>
        <deprecatedVersion>5.7.3</deprecatedVersion>
        <title>Form actions</title>
        <description>
          <p>This widget displays actions filtered on the current document.</p>
          <p>Since 5.7.3, use "documentActions" instead.</p>
        </description>
        <categories>
          <category>tab_designer</category>
        </categories>
        <fields>
          <defaultConfiguration>
            <field></field>
          </defaultConfiguration>
        </fields>
        <containingForm>false</containingForm>
        <supportedModes>
          <mode>view</mode>
        </supportedModes>
        <properties>
          <defaultValues mode="any">
            <property name="trackCurrentAction">true</property>
          </defaultValues>
          <layouts mode="any">
            <layout name="currentDocumentActions_widget_type_properties_any">
              <rows>
                <row>
                  <widget category="widgetTypeConf">actions_category</widget>
                </row>
                <row>
                  <widget category="widgetTypeConf">actionsDisplay</widget>
                </row>
                <row>
                  <widget category="widgetTypeConf">actions_overallDisplay</widget>
                </row>
                <row>
                  <widget category="widgetTypeConf">actions_maxActionsNumber</widget>
                </row>
                <row>
                  <widget category="widgetTypeConf">actions_styleClass</widget>
                </row>
                <row>
                  <widget category="widgetTypeConf">actions_moreMenuLabel</widget>
                </row>
                <row>
                  <widget category="widgetTypeConf">actions_useAjaxForm</widget>
                </row>
                <row>
                  <widget category="widgetTypeConf">ajaxReRender</widget>
                </row>
                <row>
                  <widget category="widgetTypeConf">actions_disableFiltered</widget>
                </row>
              </rows>
            </layout>
          </layouts>
        </properties>
      </configuration>
      <handler-class>
        org.nuxeo.ecm.platform.forms.layout.facelets.plugins.TemplateWidgetTypeHandler
      </handler-class>
      <property name="template">
        /widgets/actions/document_actions_widget_template.xhtml
      </property>
    </widgetType>

    <widgetType name="documentActionsWithForms">
      <configuration>
        <sinceVersion>5.7</sinceVersion>
        <title>Toolbar actions</title>
        <description>
          <p>This widget displays actions filtered on the document given as
            field mapping, and surrounds them by a form.
          </p>
          <p>
            It will display actions in the category given in the 'category'
            property. The widget label and help label will be displayed above
            the actions.
          </p>
          <p>
            The fact that actions are surrounded by their own form makes it
            possible to use fancybox actions for instance, whose popup content
            would use a different form.
          </p>
        </description>
        <categories>
          <category>tab_designer</category>
        </categories>
        <fields>
          <defaultConfiguration>
            <field></field>
          </defaultConfiguration>
        </fields>
        <containingForm>true</containingForm>
        <supportedModes>
          <mode>view</mode>
        </supportedModes>
        <properties>
          <defaultValues mode="any">
            <property name="trackCurrentAction">true</property>
          </defaultValues>
          <layouts mode="any">
            <layout name="documentActionsWithForms_widget_type_properties_any">
              <rows>
                <row>
                  <widget category="widgetTypeConf">actions_category</widget>
                </row>
                <row>
                  <widget category="widgetTypeConf">actionsDisplay</widget>
                </row>
                <row>
                  <widget category="widgetTypeConf">actions_overallDisplay</widget>
                </row>
                <row>
                  <widget category="widgetTypeConf">actions_maxActionsNumber</widget>
                </row>
                <row>
                  <widget category="widgetTypeConf">actions_styleClass</widget>
                </row>
                <row>
                  <widget category="widgetTypeConf">actions_moreMenuLabel</widget>
                </row>
                <row>
                  <widget category="widgetTypeConf">actions_useAjaxForm</widget>
                </row>
                <row>
                  <widget category="widgetTypeConf">ajaxReRender</widget>
                </row>
                <row>
                  <widget category="widgetTypeConf">actions_disableFiltered</widget>
                </row>
              </rows>
            </layout>
          </layouts>
        </properties>
      </configuration>
      <handler-class>
        org.nuxeo.ecm.platform.forms.layout.facelets.plugins.TemplateWidgetTypeHandler
      </handler-class>
      <property name="template">
        /widgets/actions/document_actions_with_forms_widget_template.xhtml
      </property>
    </widgetType>

    <widgetType name="currentDocumentActionsWithForms">
      <configuration>
        <sinceVersion>5.7</sinceVersion>
        <deprecatedVersion>5.7.3</deprecatedVersion>
        <title>Toolbar actions</title>
        <description>
          <p>This widget displays actions filtered on the current document, and
            surrounds them by a form.
          </p>
          <p>Since 5.7.3, use "documentActionsWithForms" instead.</p>
        </description>
        <categories>
          <category>tab_designer</category>
        </categories>
        <fields>
          <defaultConfiguration>
            <field></field>
          </defaultConfiguration>
        </fields>
        <containingForm>true</containingForm>
        <supportedModes>
          <mode>view</mode>
        </supportedModes>
        <properties>
          <defaultValues mode="any">
            <property name="trackCurrentAction">true</property>
          </defaultValues>
          <layouts mode="any">
            <layout name="currentDocumentActionsWithForms_widget_type_properties_any">
              <rows>
                <row>
                  <widget category="widgetTypeConf">actions_category</widget>
                </row>
                <row>
                  <widget category="widgetTypeConf">actionsDisplay</widget>
                </row>
                <row>
                  <widget category="widgetTypeConf">actions_overallDisplay</widget>
                </row>
                <row>
                  <widget category="widgetTypeConf">actions_maxActionsNumber</widget>
                </row>
                <row>
                  <widget category="widgetTypeConf">actions_styleClass</widget>
                </row>
                <row>
                  <widget category="widgetTypeConf">actions_moreMenuLabel</widget>
                </row>
                <row>
                  <widget category="widgetTypeConf">actions_useAjaxForm</widget>
                </row>
                <row>
                  <widget category="widgetTypeConf">ajaxReRender</widget>
                </row>
                <row>
                  <widget category="widgetTypeConf">actions_disableFiltered</widget>
                </row>
              </rows>
            </layout>
          </layouts>
        </properties>
      </configuration>
      <handler-class>
        org.nuxeo.ecm.platform.forms.layout.facelets.plugins.TemplateWidgetTypeHandler
      </handler-class>
      <property name="template">
        /widgets/actions/document_actions_with_forms_widget_template.xhtml
      </property>
    </widgetType>

    <widgetType name="documentAction">
      <configuration>
        <sinceVersion>5.7</sinceVersion>
        <title>Form action</title>
        <description>
          <p>This widget displays an action filtered on context using document
            given as field mapping.
          </p>
          <p>
            It needs the action id as property "actionId".
            <br />
            Its bound value is used for actions with type "widget".
          </p>
          <p>
            This widget requires to be surrounded by a form, so if it displays
            fancybox actions for instance, their popup content cannot contain
            another form.
          </p>
        </description>
        <categories>
          <category>tab_designer</category>
        </categories>
        <fields>
          <defaultConfiguration>
            <field></field>
          </defaultConfiguration>
        </fields>
        <containingForm>false</containingForm>
        <supportedModes>
          <mode>view</mode>
        </supportedModes>
        <properties>
          <defaultValues mode="any">
            <property name="trackCurrentAction">true</property>
          </defaultValues>
          <layouts mode="any">
            <layout name="documentAction_widget_type_properties_any">
              <rows>
                <row>
                  <widget category="widgetTypeConf">actions_actionId</widget>
                </row>
                <row>
                  <widget category="widgetTypeConf">actionsDisplay</widget>
                </row>
                <row>
                  <widget category="widgetTypeConf">actions_styleClass</widget>
                </row>
                <row>
                  <widget category="widgetTypeConf">actions_useAjaxForm</widget>
                </row>
                <row>
                  <widget category="widgetTypeConf">ajaxReRender</widget>
                </row>
                <row>
                  <widget category="widgetTypeConf">actions_disableFiltered</widget>
                </row>
              </rows>
            </layout>
          </layouts>
        </properties>
      </configuration>
      <handler-class>
        org.nuxeo.ecm.platform.forms.layout.facelets.plugins.TemplateWidgetTypeHandler
      </handler-class>
      <property name="template">
        /widgets/actions/document_action_widget_template.xhtml
      </property>
    </widgetType>

    <widgetType name="currentDocumentAction">
      <configuration>
        <sinceVersion>5.7</sinceVersion>
        <deprecatedVersion>5.7.3</deprecatedVersion>
        <title>Form action</title>
        <description>
          <p>This widget displays an action filtered on current document context
          </p>
          <p>Since 5.7.3, use "documentAction" instead.</p>
        </description>
        <categories>
          <category>tab_designer</category>
        </categories>
        <fields>
          <defaultConfiguration>
            <field></field>
          </defaultConfiguration>
        </fields>
        <containingForm>false</containingForm>
        <supportedModes>
          <mode>view</mode>
        </supportedModes>
        <properties>
          <defaultValues mode="any">
            <property name="trackCurrentAction">true</property>
          </defaultValues>
          <layouts mode="any">
            <layout name="currentDocumentAction_widget_type_properties_any">
              <rows>
                <row>
                  <widget category="widgetTypeConf">actions_actionId</widget>
                </row>
                <row>
                  <widget category="widgetTypeConf">actionsDisplay</widget>
                </row>
                <row>
                  <widget category="widgetTypeConf">actions_styleClass</widget>
                </row>
                <row>
                  <widget category="widgetTypeConf">actions_addForm</widget>
                </row>
                <row>
                  <widget category="widgetTypeConf">actions_useAjaxForm</widget>
                </row>
                <row>
                  <widget category="widgetTypeConf">ajaxReRender</widget>
                </row>
                <row>
                  <widget category="widgetTypeConf">actions_disableFiltered</widget>
                </row>
              </rows>
            </layout>
          </layouts>
        </properties>
      </configuration>
      <handler-class>
        org.nuxeo.ecm.platform.forms.layout.facelets.plugins.TemplateWidgetTypeHandler
      </handler-class>
      <property name="template">
        /widgets/actions/document_action_widget_template.xhtml
      </property>
    </widgetType>

    <widgetType name="documentActionWithForms">
      <configuration>
        <sinceVersion>5.7</sinceVersion>
        <title>Toolbar action</title>
        <description>
          <p>This widget displays an action filtered on current document context
          </p>
          <p>
            It needs the action id as property "actionId".
            <br />
            Its bound value is used for actions with type "widget".
          </p>
          <p>
            The fact that action is surrounded by its own form makes it
            possible to use fancybox actions for instance, whose popup content
            would use a different form.
          </p>
        </description>
        <categories>
          <category>tab_designer</category>
        </categories>
        <fields>
          <defaultConfiguration>
            <field></field>
          </defaultConfiguration>
        </fields>
        <containingForm>true</containingForm>
        <supportedModes>
          <mode>view</mode>
        </supportedModes>
        <properties>
          <defaultValues mode="any">
            <property name="trackCurrentAction">true</property>
          </defaultValues>
          <layouts mode="any">
            <layout name="documentActionWithForms_widget_type_properties_any">
              <rows>
                <row>
                  <widget category="widgetTypeConf">actions_actionId</widget>
                </row>
                <row>
                  <widget category="widgetTypeConf">actionsDisplay</widget>
                </row>
                <row>
                  <widget category="widgetTypeConf">actions_styleClass</widget>
                </row>
                <row>
                  <widget category="widgetTypeConf">actions_useAjaxForm</widget>
                </row>
                <row>
                  <widget category="widgetTypeConf">ajaxReRender</widget>
                </row>
                <row>
                  <widget category="widgetTypeConf">actions_disableFiltered</widget>
                </row>
              </rows>
            </layout>
          </layouts>
        </properties>
      </configuration>
      <handler-class>
        org.nuxeo.ecm.platform.forms.layout.facelets.plugins.TemplateWidgetTypeHandler
      </handler-class>
      <property name="template">
        /widgets/actions/document_action_with_forms_widget_template.xhtml
      </property>
    </widgetType>

    <widgetType name="currentDocumentActionWithForms">
      <configuration>
        <sinceVersion>5.7</sinceVersion>
        <deprecatedVersion>5.7.3</deprecatedVersion>
        <title>Toolbar action</title>
        <description>
          <p>This widget displays an action filtered on current document context
          </p>
          <p>Since 5.7.3, use "documentActionWithForms" instead.</p>
        </description>
        <categories>
          <category>tab_designer</category>
        </categories>
        <fields>
          <defaultConfiguration>
            <field></field>
          </defaultConfiguration>
        </fields>
        <containingForm>true</containingForm>
        <supportedModes>
          <mode>view</mode>
        </supportedModes>
        <properties>
          <defaultValues mode="any">
            <property name="trackCurrentAction">true</property>
          </defaultValues>
          <layouts mode="any">
            <layout name="currentDocumentActionWithForms_widget_type_properties_any">
              <rows>
                <row>
                  <widget category="widgetTypeConf">actions_actionId</widget>
                </row>
                <row>
                  <widget category="widgetTypeConf">actionsDisplay</widget>
                </row>
                <row>
                  <widget category="widgetTypeConf">actions_styleClass</widget>
                </row>
                <row>
                  <widget category="widgetTypeConf">actions_useAjaxForm</widget>
                </row>
                <row>
                  <widget category="widgetTypeConf">ajaxReRender</widget>
                </row>
                <row>
                  <widget category="widgetTypeConf">actions_disableFiltered</widget>
                </row>
              </rows>
            </layout>
          </layouts>
        </properties>
      </configuration>
      <handler-class>
        org.nuxeo.ecm.platform.forms.layout.facelets.plugins.TemplateWidgetTypeHandler
      </handler-class>
      <property name="template">
        /widgets/actions/document_action_with_forms_widget_template.xhtml
      </property>
    </widgetType>

    <widgetType name="documentTabsWithForms">
      <configuration>
        <sinceVersion>5.7.3</sinceVersion>
        <title>Tabs</title>
        <description>
          <p>This widget displays tabs filtered on current document context</p>
          <p>
            It needs the action id as property "actionId".
            <br />
            Its bound value is used for actions with type "widget".
          </p>
          <p>
            The fact that action is surrounded by its own form makes it
            possible to use fancybox actions for instance, whose popup content
            would use a different form.
          </p>
        </description>
        <categories>
          <category>tab_designer</category>
        </categories>
        <fields>
          <defaultConfiguration>
            <field></field>
          </defaultConfiguration>
        </fields>
        <containingForm>true</containingForm>
        <supportedModes>
          <mode>view</mode>
        </supportedModes>
        <properties>
          <defaultValues mode="any">
            <property name="trackCurrentAction">false</property>
          </defaultValues>
          <layouts mode="any">
            <layout name="documentTabsWithForms_widget_type_properties_any">
              <rows>
                <row>
                  <widget category="widgetTypeConf">tabs_category</widget>
                </row>
                <row>
                  <widget category="widgetTypeConf">actions_useAjaxForm</widget>
                </row>
                <row>
                  <widget category="widgetTypeConf">ajaxReRender</widget>
                </row>
                <row>
                  <widget category="widgetTypeConf">actionsDisplay</widget>
                </row>
                <row>
                  <widget category="widgetTypeConf">actions_styleClass</widget>
                </row>
                <row>
                  <widget category="widgetTypeConf">tabs_overallDisplay</widget>
                </row>
                <row>
                  <widget category="widgetTypeConf">tabs_hideSingleTab</widget>
                </row>
                <row>
                  <widget category="widgetTypeConf">tabs_link_view</widget>
                </row>
                <row>
                  <widget category="widgetTypeConf">tabs_link_pattern</widget>
                </row>
              </rows>
            </layout>
          </layouts>
        </properties>
      </configuration>
      <handler-class>
        org.nuxeo.ecm.platform.forms.layout.facelets.plugins.TemplateWidgetTypeHandler
      </handler-class>
      <property name="template">
        /widgets/actions/document_tabs_with_forms_widget_template.xhtml
      </property>
    </widgetType>

    <widgetType name="userVirtualGroups">
      <configuration>
        <sinceVersion>5.5</sinceVersion>
        <title>User virtual groups</title>
        <description>
          This widget displays the user virtual groups.
        </description>
        <categories>
          <category>configuration_not_ready</category>
        </categories>
        <supportedModes>
          <mode>view</mode>
        </supportedModes>
      </configuration>
      <handler-class>
        org.nuxeo.ecm.platform.forms.layout.facelets.plugins.TemplateWidgetTypeHandler
      </handler-class>
      <property name="template">
        /widgets/user_vgoups_widget_template.xhtml
      </property>
    </widgetType>

    <widgetType name="datetimeRange">
      <configuration>
        <title>Datetime range</title>
        <documentation>
          Widget used to search on a date range.
          Two fields are required:
          <ul>
            <li>A field to map the min date</li>
            <li>A field to map the max date</li>
          </ul>
        </documentation>
        <sinceVersion>5.7</sinceVersion>
        <categories>
          <category>search</category>
        </categories>
        <supportedModes>
          <mode>edit</mode>
          <mode>view</mode>
        </supportedModes>
        <fields>
          <list>false</list>
          <complex>false</complex>
          <supportedTypes>
            <type>date</type>
          </supportedTypes>
        </fields>
        <properties>
          <defaultValues mode="edit">
            <property name="startDefaultTime">00:00:00</property>
            <property name="endDefaultTime">23:59:59</property>
          </defaultValues>
          <layouts mode="view">
            <layout name="daterange_widget_type_properties_view">
              <rows>
                <row>
                  <widget category="widgetTypeConf">datetime_pattern</widget>
                </row>
                <row>
                  <widget category="widgetTypeConf">datetime_timeZone</widget>
                </row>
                <row>
                  <widget category="widgetTypeConf">styleClass</widget>
                </row>
              </rows>
            </layout>
          </layouts>
          <layouts mode="edit">
            <layout name="daterange_widget_type_properties_edit">
              <rows>
                <row>
                  <widget category="widgetTypeConf">required</widget>
                </row>
                <row>
                  <widget category="widgetTypeConf">datetime_format</widget>
                </row>
                <row>
                  <widget category="widgetTypeConf">datetime_locale</widget>
                </row>
                <row>
                  <widget category="widgetTypeConf">styleClass</widget>
                </row>
                <row>
                  <widget category="widgetTypeConf">datetime_timeZone</widget>
                </row>
                <row>
                  <widget category="widgetTypeConf">datetime_triggerImg</widget>
                </row>
                <row>
                  <widget category="widgetTypeConf">datetime_triggerLabel</widget>
                </row>
                <row>
                  <widget category="widgetTypeConf">datetime_triggerStyleClass</widget>
                </row>
                <row>
                  <widget>datetimeRange_startDefaultTime</widget>
                </row>
                <row>
                  <widget>datetimeRange_endDefaultTime</widget>
                </row>
              </rows>
              <widget name="datetimeRange_startDefaultTime" type="text">
                <labels>
                  <label mode="any">Datetime Range Start Default Time</label>
                </labels>
                <helpLabels>
                  <label mode="any">
                    The start default time, ignore if time is
                    not taken into account in the date pattern/format. Defaults
                    to 00:00:00, available since 7.1.
                  </label>
                </helpLabels>
                <fields>
                  <field>startDefaultTime</field>
                </fields>
                <controls mode="any">
                  <control name="sinceVersion">7.1</control>
                </controls>
              </widget>
              <widget name="datetimeRange_endDefaultTime" type="text">
                <labels>
                  <label mode="any">Datetime Range End Default Time</label>
                </labels>
                <helpLabels>
                  <label mode="any">
                    The end default time, ignore if time is
                    not taken into account in the date pattern/format. Defaults
                    to 23:59:59, available since 7.1.
                  </label>
                </helpLabels>
                <fields>
                  <field>endDefaultTime</field>
                </fields>
                <controls mode="any">
                  <control name="sinceVersion">7.1</control>
                </controls>
              </widget>
            </layout>
          </layouts>
        </properties>
      </configuration>
      <handler-class>
        org.nuxeo.ecm.platform.forms.layout.facelets.plugins.TemplateWidgetTypeHandler
      </handler-class>
      <property name="template">
        /widgets/date_range_widget_template.xhtml
      </property>
    </widgetType>

    <widgetType name="path">
      <configuration>
        <title>Path</title>
        <documentation>
          The path widget displays a popup browser in the document
          hierarchy.
        </documentation>
        <sinceVersion>5.7</sinceVersion>
        <supportedModes>
          <mode>edit</mode>
        </supportedModes>
        <fields>
          <list>false</list>
          <complex>false</complex>
          <supportedTypes>
            <type>string</type>
            <type>path</type>
          </supportedTypes>
          <defaultTypes>
            <type>path</type>
          </defaultTypes>
        </fields>
        <categories>
          <category>document</category>
        </categories>
        <properties>
          <layouts mode="edit">
            <layout name="path_widget_type_properties">
              <rows>
                <row>
                  <widget category="widgetTypeConf">required</widget>
                </row>
                <row>
                  <widget category="widgetTypeConf">styleClass</widget>
                </row>
              </rows>
            </layout>
          </layouts>
        </properties>
      </configuration>
      <handler-class>
        org.nuxeo.ecm.platform.forms.layout.facelets.plugins.TemplateWidgetTypeHandler
      </handler-class>
      <property name="template">/widgets/search_path_widget.xhtml</property>
    </widgetType>

    <widgetType name="dropZone">
      <configuration>
        <sinceVersion>5.8</sinceVersion>
        <title>Drop zone</title>
        <description>
          <p>
            The dropZone widget wraps its subwidgets with a div acting as
            the
            drop zone to be able to drop files inside it.
          </p>
          <p>
            More information is available on the
            <a href="http://doc.nuxeo.com/x/c4ao" target="_blank">Drag and
              Drop Service
              documentation</a>
            .
          </p>
        </description>
        <categories>
          <category>decoration</category>
        </categories>
        <supportedModes>
          <mode>edit</mode>
          <mode>view</mode>
        </supportedModes>
        <acceptingSubWidgets>true</acceptingSubWidgets>
        <properties>
          <layouts mode="edit">
            <layout name="dropZone_widget_type_properties">
              <rows>
                <row>
                  <widget>dropContext</widget>
                </row>
                <row>
                  <widget category="widgetTypeConf">styleClass</widget>
                </row>
                <row>
                  <widget>isEmpty</widget>
                </row>
                <row>
                  <widget>emptyMessage</widget>
                </row>
                <row>
                  <widget>cannotDrop</widget>
                </row>
                <row>
                  <widget>cannotDropMessage</widget>
                </row>
              </rows>
              <widget name="dropContext" type="text">
                <labels>
                  <label mode="any">Drop context</label>
                </labels>
                <helpLabels>
                  <label mode="any">The drop context is a marker used to
                    identify which action will be called on drop. Actions with
                    the given category will be be taken into account. Their id
                    should correspond to the operation or automation chain
                    identifier.
                  </label>
                </helpLabels>
                <fields>
                  <field>dropContext</field>
                </fields>
                <properties mode="any">
                  <property name="required">true</property>
                </properties>
              </widget>
              <widget name="isEmpty" type="text">
                <labels>
                  <label mode="any">Is empty</label>
                </labels>
                <helpLabels>
                  <label mode="any">Expression resolving to a boolean stating if
                    the drop zone is empty. If it resolves to true, subwidgets
                    are not displayed.
                  </label>
                </helpLabels>
                <fields>
                  <field>isEmpty</field>
                </fields>
              </widget>
              <widget name="emptyMessage" type="text">
                <labels>
                  <label mode="any">Empty message</label>
                </labels>
                <helpLabels>
                  <label mode="any">Message to display if the drop zone is
                    empty.
                  </label>
                </helpLabels>
                <fields>
                  <field>emptyMessage</field>
                </fields>
              </widget>
              <widget name="cannotDrop" type="text">
                <labels>
                  <label mode="any">Cannot drop</label>
                </labels>
                <helpLabels>
                  <label mode="any">Expression resolving to a boolean stating if
                    user should not be able to drop elements inside the drop
                    zone (because user does not have enough rights to create
                    documents, for instance).
                  </label>
                </helpLabels>
                <fields>
                  <field>cannotDrop</field>
                </fields>
              </widget>
              <widget name="cannotDropMessage" type="text">
                <labels>
                  <label mode="any">Cannot drop message</label>
                </labels>
                <helpLabels>
                  <label mode="any">Message to display if user cannot drop items
                    in the drop zone.
                  </label>
                </helpLabels>
                <fields>
                  <field>cannotDropMessage</field>
                </fields>
              </widget>
            </layout>
          </layouts>
        </properties>
      </configuration>
      <handler-class>
        org.nuxeo.ecm.platform.forms.layout.facelets.plugins.TemplateWidgetTypeHandler
      </handler-class>
      <property name="template">
        /widgets/drop_zone_widget_template.xhtml
      </property>
    </widgetType>

    <widgetType name="chainedDirectory">
      <configuration>
        <title>Chained Vocabulary</title>
        <supportedModes>
          <mode>view</mode>
          <mode>edit</mode>
        </supportedModes>
        <fields>
          <list>false</list>
          <complex>false</complex>
          <supportedTypes>
            <type>string</type>
          </supportedTypes>
        </fields>
        <categories>
          <category>document</category>
        </categories>
        <properties>
          <layouts mode="any">
            <layout name="chainedDirectory_widget_type_properties_any">
              <rows>
                <row>
                  <widget>childDirectory</widget>
                </row>
                <row>
                  <widget>localize</widget>
                </row>
              </rows>
              <widget name="childDirectory" type="selectOneResource">
                <labels>
                  <label mode="any">Vocabulary</label>
                </labels>
                <helpLabels>
                  <label mode="any">
                    Select the child or hierarchical directory
                    mapped.
                  </label>
                </helpLabels>
                <fields>
                  <field>childDirectory</field>
                </fields>
                <properties mode="any">
                  <property name="resourceName">child_vocabularies</property>
                </properties>
                <properties widgetMode="edit">
                  <property name="required">true</property>
                </properties>
              </widget>
              <widget name="localize" type="checkbox">
                <labels>
                  <label mode="any">Localize</label>
                </labels>
                <helpLabels>
                  <label mode="any">If true, labels will be localized.</label>
                </helpLabels>
                <fields>
                  <field>localize</field>
                </fields>
              </widget>
            </layout>
          </layouts>
          <layouts mode="edit">
            <layout name="chainedDirectory_widget_type_properties_edit">
              <rows>
                <row>
                  <widget>required</widget>
                </row>
                <row>
                  <widget>allowBranchSelection</widget>
                </row>
                <row>
                  <widget>on2rows</widget>
                </row>
                <row>
                  <widget>directory_ordering</widget>
                </row>
              </rows>
              <widget name="required" type="checkbox">
                <labels>
                  <label mode="any">Required</label>
                </labels>
                <fields>
                  <field>required</field>
                </fields>
              </widget>
              <widget name="allowBranchSelection" type="checkbox">
                <labels>
                  <label mode="any">Allow incomplete selection</label>
                </labels>
                <helpLabels>
                  <label mode="any">
                    If set to true, user cannot select only the
                    first item in the selection, he will have to select a second
                    item too. Defaults to false, available since 5.6.
                  </label>
                </helpLabels>
                <fields>
                  <field>allowBranchSelection</field>
                </fields>
              </widget>
              <widget name="on2rows" type="checkbox">
                <labels>
                  <label mode="any">On 2 rows</label>
                </labels>
                <helpLabels>
                  <label mode="any">
                    If true, display the selectors on two rows.
                    Defaults to
                    false.
                  </label>
                </helpLabels>
                <fields>
                  <field>on2rows</field>
                </fields>
              </widget>
              <widget name="directory_ordering" type="selectOneListbox">
                <categories>
                  <category>widgetTypeConf</category>
                </categories>
                <labels>
                  <label mode="any">Sort criterion</label>
                </labels>
                <fields>
                  <field>ordering</field>
                </fields>
                <selectOptions>
                  <option itemLabel="Label (default)" itemValue="label" />
                  <option itemLabel="Ordering" itemValue="ordering" />
                  <option itemLabel="Id" itemValue="id" />
                </selectOptions>
              </widget>
            </layout>
          </layouts>
        </properties>
      </configuration>
      <handler-class>
        org.nuxeo.ecm.platform.forms.layout.facelets.plugins.TemplateWidgetTypeHandler
      </handler-class>
      <property name="template">
        /widgets/chain_monoselect_2levels_widget.xhtml
      </property>
    </widgetType>

    <widgetType name="multiChainedDirectory">
      <configuration>
        <title>Multiple chained Vocabulary</title>
        <supportedModes>
          <mode>view</mode>
          <mode>edit</mode>
        </supportedModes>
        <fields>
          <list>true</list>
          <complex>false</complex>
          <supportedTypes>
            <type>string</type>
          </supportedTypes>
        </fields>
        <categories>
          <category>document</category>
        </categories>
        <properties>
          <layouts mode="any">
            <layout name="multiChainedDirectory_widget_type_properties_any">
              <rows>
                <row>
                  <widget>childDirectory</widget>
                </row>
                <row>
                  <widget>localize</widget>
                </row>
              </rows>
              <widget name="childDirectory" type="selectOneResource">
                <labels>
                  <label mode="any">Vocabulary</label>
                </labels>
                <helpLabels>
                  <label mode="any">
                    Select the child or hierarchical directory
                    mapped.
                  </label>
                </helpLabels>
                <fields>
                  <field>childDirectory</field>
                </fields>
                <properties mode="any">
                  <property name="resourceName">child_vocabularies</property>
                </properties>
                <properties widgetMode="edit">
                  <property name="required">true</property>
                </properties>
              </widget>
              <widget name="localize" type="checkbox">
                <labels>
                  <label mode="any">Localize</label>
                </labels>
                <helpLabels>
                  <label mode="any">If true, labels will be localized.</label>
                </helpLabels>
                <fields>
                  <field>localize</field>
                </fields>
              </widget>
            </layout>
          </layouts>
          <layouts mode="edit">
            <layout name="multiChainedDirectory_widget_type_properties_edit">
              <rows>
                <row>
                  <widget>required</widget>
                </row>
                <row>
                  <widget>allowBranchSelection</widget>
                </row>
                <row>
                  <widget>on2rows</widget>
                </row>
                <row>
                  <widget>directory_ordering</widget>
                </row>
              </rows>
              <widget name="required" type="checkbox">
                <labels>
                  <label mode="any">Required</label>
                </labels>
                <fields>
                  <field>required</field>
                </fields>
              </widget>
              <widget name="allowBranchSelection" type="checkbox">
                <labels>
                  <label mode="any">Allow incomplete selection</label>
                </labels>
                <helpLabels>
                  <label mode="any">
                    If set to true, user cannot select only the
                    first item in the selection, he will have to select a second
                    item too. Defaults to false.
                  </label>
                </helpLabels>
                <fields>
                  <field>allowBranchSelection</field>
                </fields>
              </widget>
              <widget name="on2rows" type="checkbox">
                <labels>
                  <label mode="any">On 2 rows</label>
                </labels>
                <helpLabels>
                  <label mode="any">
                    If true, display the selectors on two rows.
                    Defaults to
                    false.
                  </label>
                </helpLabels>
                <fields>
                  <field>on2rows</field>
                </fields>
              </widget>
              <widget name="directory_ordering" type="selectOneListbox">
                <categories>
                  <category>widgetTypeConf</category>
                </categories>
                <labels>
                  <label mode="any">Sort criterion</label>
                </labels>
                <fields>
                  <field>ordering</field>
                </fields>
                <selectOptions>
                  <option itemLabel="Label (default)" itemValue="label" />
                  <option itemLabel="Ordering" itemValue="ordering" />
                  <option itemLabel="Id" itemValue="id" />
                </selectOptions>
              </widget>
            </layout>
          </layouts>
        </properties>
      </configuration>
      <handler-class>
        org.nuxeo.ecm.platform.forms.layout.facelets.plugins.TemplateWidgetTypeHandler
      </handler-class>
      <property name="template">
        /widgets/chain_multiselect_2levels_widget.xhtml
      </property>
    </widgetType>

    <widgetType name="shuttle">
      <configuration>
        <title>Shuttle widget</title>
        <sinceVersion>6.0</sinceVersion>
        <supportedModes>
          <mode>edit</mode>
        </supportedModes>
        <fields>
          <list>true</list>
          <complex>false</complex>
          <supportedTypes>
            <type>string</type>
          </supportedTypes>
        </fields>
        <categories>
          <category>configuration_not_ready</category>
        </categories>
      </configuration>
      <handler-class>
        org.nuxeo.ecm.platform.forms.layout.facelets.plugins.TemplateWidgetTypeHandler
      </handler-class>
      <property name="template">
        /widgets/shuttle_widget_template.xhtml
      </property>
    </widgetType>

  </extension>

  <extension target="org.nuxeo.ecm.platform.forms.layout.WebLayoutManager"
    point="widgets">

    <widget name="document_edit_comment" type="textarea">
      <labels>
        <label mode="any">label.editComment</label>
      </labels>
      <helpLabels>
        <label mode="any">label.editComment.tooltip</label>
      </helpLabels>
      <translated>true</translated>
      <fields>
        <field>contextData['comment']</field>
      </fields>
      <widgetModes>
        <mode value="create">hidden</mode>
      </widgetModes>
    </widget>

    <widget name="document_edit_current_version" type="text">
      <labels>
        <label mode="any">label.version</label>
      </labels>
      <helpLabels>
        <label mode="any">label.versioning.currentVersion.tooltip</label>
      </helpLabels>
      <translated>true</translated>
      <fields>
        <field>#{versioningManager.getVersionLabel(layoutValue)}</field>
      </fields>
      <widgetModes>
        <mode value="create">hidden</mode>
        <mode value="any">
          #{nxu:test(layoutValue.versionable and
          !layoutValue.folder, 'view', 'hidden')}
        </mode>
      </widgetModes>
    </widget>

    <widget name="document_edit_versioning_options" type="setVariable">
      <labels>
        <label mode="any">label.versioning.selectVersioningOption</label>
      </labels>
      <helpLabels>
        <label mode="any">label.versioning.changeVersion.tooltip</label>
      </helpLabels>
      <translated>true</translated>
      <widgetModes>
        <mode value="create">hidden</mode>
        <mode value="any">
          #{nxu:test(layoutValue.versionable and not
          layoutValue.folder and
          versioningManager.getVersionIncEditOptions(layoutValue).hasOptions(),
          mode, 'hidden')}
        </mode>
      </widgetModes>
      <properties widgetMode="any">
        <property name="var">incOptions</property>
        <property name="value">
          #{versioningManager.getVersionIncEditOptions(layoutValue)}
        </property>
        <property name="cache">true</property>
      </properties>
      <subWidgets>
        <widget name="versioning_options" type="selectOneRadio">
          <fields>
            <field>contextData['VersioningOption']</field>
          </fields>
          <properties widgetMode="edit">
            <property name="defaultValue">
              #{incOptions.defaultVersioningAction.name()}
            </property>
            <property name="converter">documentVersioningConverter</property>
            <property name="layout">pageDirection</property>
            <property name="required">true</property>
            <property name="requiredMessage">
              #{messages['error.versioning.none_selected']}
            </property>
          </properties>
          <selectOptions>
            <options value="#{incOptions.optionsForDisplay}" var="item"
              itemLabel="#{messages[item.getValue()]}" itemValue="#{item.getKey()}" />
          </selectOptions>
        </widget>
      </subWidgets>
    </widget>

    <widget name="userPanelTop" type="documentActions">
      <properties widgetMode="view">
        <property name="category">USER_PANEL_TOP</property>
      </properties>
      <controls mode="any">
        <control name="gridStyleClass">gridStyle12</control>
      </controls>
    </widget>

    <widget name="userPanelLeft" type="documentActions">
      <properties widgetMode="view">
        <property name="category">USER_PANEL_LEFT</property>
      </properties>
      <controls mode="any">
        <control name="gridStyleClass">gridStyle5</control>
      </controls>
    </widget>

    <widget name="userPanelRight" type="documentActions">
      <properties widgetMode="view">
        <property name="category">USER_PANEL_RIGHT</property>
      </properties>
      <controls mode="any">
        <control name="gridStyleClass">gridStyle7</control>
      </controls>
    </widget>

    <widget name="userPanelBottom" type="documentActions">
      <properties widgetMode="view">
        <property name="category">USER_PANEL_BOTTOM</property>
      </properties>
      <controls mode="any">
        <control name="gridStyleClass">gridStyle12</control>
      </controls>
    </widget>

    <widget name="userLayout" type="layout">
      <properties widgetMode="any">
        <property name="name">user</property>
      </properties>
    </widget>


    <widget name="userAdditionalWidgets" type="documentActions">
      <properties widgetMode="any">
        <property name="category">USER_ADDITIONAL_WIDGETS</property>
        <property name="widgetMode">#{layout.mode}</property>
      </properties>
      <controls mode="any">
        <control name="handleLabels">true</control>
      </controls>
    </widget>

  </extension>

  <extension target="org.nuxeo.ecm.platform.actions.ActionService"
    point="actions">

    <action id="userLayout" type="widget" order="100">
      <category>USER_PANEL_LEFT</category>
      <properties>
        <property name="widgetName">userLayout</property>
      </properties>
    </action>

  </extension>

  <extension target="org.nuxeo.ecm.platform.forms.layout.WebLayoutManager"
    point="layouts">

    <layout name="gridUserLayout">
      <templates>
        <template mode="any">
          /layouts/layout_grid_template.xhtml
        </template>
      </templates>
      <rows>
        <row>
          <widget>userPanelTop</widget>
        </row>
        <row>
          <widget>userPanelLeft</widget>
          <widget>userPanelRight</widget>
        </row>
        <row>
          <widget>userPanelBottom</widget>
        </row>
      </rows>
    </layout>

    <layout name="user">
      <templates>
        <template mode="any">/layouts/layout_default_template.xhtml
        </template>
      </templates>
      <rows>
        <row>
          <widget>username</widget>
        </row>
        <row>
          <widget>firstname</widget>
        </row>
        <row>
          <widget>lastname</widget>
        </row>
        <row>
          <widget>company</widget>
        </row>
        <row>
          <widget>email</widget>
        </row>
        <row>
          <widget>groups</widget>
        </row>
        <row>
          <widget>groupsValidator</widget>
        </row>
        <row>
          <widget>vgroups</widget>
        </row>
        <row>
          <widget>passwordMatcher</widget>
        </row>
        <row>
          <widget>userAdditionalWidgets</widget>
        </row>
      </rows>
      <widget name="username" type="text">
        <labels>
          <label mode="any">username</label>
        </labels>
        <translated>true</translated>
        <fields>
          <field schema="user">username</field>
        </fields>
        <widgetModes>
          <mode value="create">edit</mode>
          <mode value="editPassword">********</mode>
          <mode value="any">view</mode>
        </widgetModes>
        <properties widgetMode="edit">
          <property name="required">true</property>
          <property name="styleClass">dataInputText</property>
          <property name="validator">
            #{userManagementActions.validateUserName}
          </property>
        </properties>
      </widget>
      <widget name="firstname" type="text">
        <labels>
          <label mode="any">firstName</label>
        </labels>
        <translated>true</translated>
        <fields>
          <field schema="user">firstName</field>
        </fields>
        <widgetModes>
          <mode value="editPassword">********</mode>
        </widgetModes>
        <properties widgetMode="edit">
          <property name="styleClass">dataInputText</property>
        </properties>
      </widget>
      <widget name="lastname" type="text">
        <labels>
          <label mode="any">lastName</label>
        </labels>
        <translated>true</translated>
        <fields>
          <field schema="user">lastName</field>
        </fields>
        <widgetModes>
          <mode value="editPassword">********</mode>
        </widgetModes>
        <properties widgetMode="edit">
          <property name="styleClass">dataInputText</property>
        </properties>
      </widget>
      <widget name="company" type="text">
        <labels>
          <label mode="any">company</label>
        </labels>
        <translated>true</translated>
        <fields>
          <field schema="user">company</field>
        </fields>
        <widgetModes>
          <mode value="editPassword">********</mode>
        </widgetModes>
        <properties widgetMode="edit">
          <property name="styleClass">dataInputText</property>
        </properties>
      </widget>
      <widget name="email" type="text">
        <labels>
          <label mode="any">email</label>
        </labels>
        <translated>true</translated>
        <fields>
          <field schema="user">email</field>
        </fields>
        <widgetModes>
          <mode value="editPassword">********</mode>
        </widgetModes>
        <properties widgetMode="edit">
          <property name="required">true</property>
          <property name="styleClass">dataInputText</property>
        </properties>
      </widget>
      <widget name="groups" type="multipleUsersSuggestion">
        <labels>
          <label mode="any">label.userManager.userGroups</label>
        </labels>
        <translated>true</translated>
        <fields>
          <field schema="user">groups</field>
        </fields>
        <widgetModes>
          <mode value="edit">
            #{nxu:test(webActions.checkFilter('usersGroupsManagementAccess'),
            'edit', 'view')}
          </mode>
          <mode value="editPassword">********</mode>
        </widgetModes>
        <properties widgetMode="any">
          <property name="hideVirtualGroups">true</property>
          <property name="userSuggestionSearchType">GROUP_TYPE</property>
        </properties>
      </widget>

      <widget name="groupsValidator" type="template">
        <labels>
          <label mode="any"></label>
        </labels>
        <translated>true</translated>
        <widgetModes>
          <mode value="create">edit</mode>
          <mode value="editPassword">********</mode>
          <mode value="view">hidden</mode>
        </widgetModes>
        <properties widgetMode="edit">
          <!-- XXX: depends on firstPassword and secondPassword widget names -->
          <property name="template">
            /widgets/user_groups_validation_widget_template.xhtml
          </property>
        </properties>
      </widget>

      <widget name="vgroups" type="userVirtualGroups">
        <labels>
          <label mode="any">label.userManager.userVirtualGroups</label>
        </labels>
        <translated>true</translated>
        <fields>
          <field schema="user">username</field>
        </fields>
        <widgetModes>
          <mode value="create">hidden</mode>
          <mode value="editPassword">********</mode>
        </widgetModes>
      </widget>
       <widget name="passwordMatcher" type="template">
        <labels>
          <label mode="create">label.immediateCreation</label>
          <label mode="any"></label>
        </labels>
        <translated>true</translated>
        <fields>
          <field schema="user">password</field>
        </fields>
        <widgetModes>
          <mode value="create">edit</mode>
          <mode value="editPassword">********</mode>
          <mode value="any">hidden</mode>
        </widgetModes>
        <properties widgetMode="edit">
          <property name="required">true</property>
          <property name="styleClass">dataInputText</property>
          <property name="template">
            /widgets/user_password_widget_template.xhtml
          </property>
        </properties>
        <properties widgetMode="editPassword">********<property name="required">true</property>
          <property name="styleClass">dataInputText</property>
          <property name="template">
            /widgets/user_password_validation_widget_template.xhtml
          </property>
        </properties>
      </widget>
    </layout>

    <layout name="profile_password">********<templates>
        <template mode="any">/layouts/layout_default_template.xhtml
        </template>
      </templates>
      <rows>
        <row>
          <widget>profilePasswordMatcher</widget>
        </row>
      </rows>
      <widget name="profilePasswordMatcher" type="template">
        <labels>
          <label mode="any"></label>
        </labels>
        <fields>
          <field schema="user">password</field>
        </fields>
        <widgetModes>
          <mode value="editProfilePassword">********</mode>
          <mode value="any">hidden</mode>
        </widgetModes>
        <properties widgetMode="editProfilePassword">********<property name="required">true</property>
          <property name="styleClass">dataInputText</property>
          <property name="template">
            /widgets/user_profile_password_validation_widget_template.xhtml
          </property>
        </properties>
      </widget>
    </layout>

    <layout name="user_registration">
      <templates>
        <template mode="any">/layouts/layout_default_template.xhtml
        </template>
      </templates>
      <rows>
        <row>
          <widget>username</widget>
        </row>
        <row>
          <widget>firstname</widget>
        </row>
        <row>
          <widget>lastname</widget>
        </row>
        <row>
          <widget>company</widget>
        </row>
        <row>
          <widget>email</widget>
        </row>
        <row>
          <widget>groups</widget>
        </row>
        <row>
          <widget>groupsValidator</widget>
        </row>
        <row>
          <widget>vgroups</widget>
        </row>
      </rows>
      <widget name="username" type="text">
        <labels>
          <label mode="any">username</label>
        </labels>
        <translated>true</translated>
        <fields>
          <field schema="userinfo">login</field>
        </fields>
        <widgetModes>
          <mode value="create">edit</mode>
          <mode value="editPassword">********</mode>
          <mode value="any">view</mode>
        </widgetModes>
        <properties widgetMode="edit">
          <property name="required">true</property>
          <property name="styleClass">dataInputText</property>
          <property name="validator">
            #{userManagementActions.validateUserName}
          </property>
        </properties>
      </widget>
      <widget name="firstname" type="text">
        <labels>
          <label mode="any">firstName</label>
        </labels>
        <translated>true</translated>
        <fields>
          <field schema="userinfo">firstName</field>
        </fields>
        <widgetModes>
          <mode value="editPassword">********</mode>
        </widgetModes>
        <properties widgetMode="edit">
          <property name="styleClass">dataInputText</property>
        </properties>
      </widget>
      <widget name="lastname" type="text">
        <labels>
          <label mode="any">lastName</label>
        </labels>
        <translated>true</translated>
        <fields>
          <field schema="userinfo">lastName</field>
        </fields>
        <widgetModes>
          <mode value="editPassword">********</mode>
        </widgetModes>
        <properties widgetMode="edit">
          <property name="styleClass">dataInputText</property>
        </properties>
      </widget>
      <widget name="company" type="text">
        <labels>
          <label mode="any">company</label>
        </labels>
        <translated>true</translated>
        <fields>
          <field schema="userinfo">company</field>
        </fields>
        <widgetModes>
          <mode value="editPassword">********</mode>
        </widgetModes>
        <properties widgetMode="edit">
          <property name="styleClass">dataInputText</property>
        </properties>
      </widget>
      <widget name="email" type="text">
        <labels>
          <label mode="any">email</label>
        </labels>
        <translated>true</translated>
        <fields>
          <field schema="userinfo">email</field>
        </fields>
        <widgetModes>
          <mode value="editPassword">********</mode>
        </widgetModes>
        <properties widgetMode="edit">
          <property name="required">true</property>
          <property name="styleClass">dataInputText</property>
        </properties>
      </widget>
      <widget name="groups" type="multipleUsersSuggestion">
        <labels>
          <label mode="any">label.userManager.userGroups</label>
        </labels>
        <translated>true</translated>
        <fields>
          <field schema="userinfo">groups</field>
        </fields>
        <widgetModes>
          <mode value="edit">
            #{nxu:test(webActions.checkFilter('usersGroupsManagementAccess'),
            'edit', 'view')}
          </mode>
          <mode value="editPassword">********</mode>
        </widgetModes>
        <properties widgetMode="any">
          <property name="hideVirtualGroups">true</property>
          <property name="userSuggestionSearchType">GROUP_TYPE</property>
        </properties>
      </widget>
      <widget name="groupsValidator" type="template">
        <labels>
          <label mode="any"></label>
        </labels>
        <translated>true</translated>
        <widgetModes>
          <mode value="create">edit</mode>
          <mode value="editPassword">********</mode>
          <mode value="view">hidden</mode>
        </widgetModes>
        <properties widgetMode="edit">
          <!-- XXX: depends on firstPassword and secondPassword widget names -->
          <property name="template">
            /widgets/user_groups_validation_widget_template.xhtml
          </property>
        </properties>
      </widget>
      <widget name="vgroups" type="userVirtualGroups">
        <labels>
          <label mode="any">label.userManager.userVirtualGroups</label>
        </labels>
        <translated>true</translated>
        <fields>
          <field schema="userinfo">login</field>
        </fields>
        <widgetModes>
          <mode value="create">hidden</mode>
          <mode value="editPassword">********</mode>
        </widgetModes>
      </widget>
    </layout>

    <layout name="group">
      <templates>
        <template mode="any">/layouts/layout_default_template.xhtml
        </template>
      </templates>
      <rows>
        <row>
          <widget>group_name</widget>
        </row>
        <row>
          <widget>group_label</widget>
        </row>
        <row>
          <widget>group_members</widget>
        </row>
        <row>
          <widget>group_subgroups</widget>
        </row>
      </rows>
    </layout>

    <layout name="user_group_suggestion">
      <templates>
        <template mode="any">/layouts/layout_default_template.xhtml
        </template>
      </templates>
      <rows>
        <row>
          <widget>selection</widget>
        </row>
      </rows>
      <widget name="selection" type="multipleUsersSuggestion">
        <!-- add empty field to map layout value directly -->
        <fields>
          <field></field>
        </fields>
        <labels>
          <label mode="any">label.security.usersOrGroups</label>
        </labels>
        <properties widgetMode="edit">
          <property name="hideHelpLabel">true</property>
          <property name="placeholder">label.security.search</property>
        </properties>
        <widgetModes>
          <mode value="create">edit</mode>
        </widgetModes>
      </widget>
    </layout>

    <layout name="user_group_prefixed_suggestion">
      <templates>
        <template mode="any">/layouts/layout_default_template.xhtml
        </template>
      </templates>
      <rows>
        <row>
          <widget>selection</widget>
        </row>
      </rows>
      <widget name="selection" type="multipleUsersSuggestion">
        <!-- add empty field to map layout value directly -->
        <fields>
          <field></field>
        </fields>
        <labels>
          <label mode="any">label.security.usersOrGroups</label>
        </labels>
        <properties widgetMode="edit">
          <property name="prefixed">true</property>
          <property name="hideHelpLabel">true</property>
          <property name="placeholder">label.security.search</property>
        </properties>
        <properties widgetMode="view">
          <property name="prefixed">true</property>
        </properties>
        <widgetModes>
          <mode value="create">edit</mode>
        </widgetModes>
      </widget>
    </layout>

    <layout name="document_content_filter">
      <templates>
        <template mode="any">/layouts/layout_default_template.xhtml
        </template>
      </templates>
      <rows>
        <row>
          <widget>search_title</widget>
        </row>
        <row>
          <widget>search_modified_min</widget>
          <widget>search_modified_max</widget>
        </row>
      </rows>
    </layout>

    <layout name="document_edit_form_options">
      <templates>
        <template mode="any">/layouts/layout_default_template.xhtml
        </template>
      </templates>
      <rows>
        <row>
          <widget>document_edit_comment</widget>
        </row>
        <row>
          <widget>document_edit_current_version</widget>
        </row>
        <row>
          <widget>document_edit_versioning_options</widget>
        </row>
      </rows>
    </layout>

  </extension>

</component>